---
title: sdk (2 of 5)
slug: sdk/android-sdk-api-reference-sdk-2-of-5
createdAt: 2026-11-04T11:40:01.234Z
---

# no.kindly.chatsdk.chat.sdk.data.entity

## Format

`enum`

```kotlin
enum Format : Enum<Format>
```

| Member    | Declaration                          | Description                                                                                                                                                                                                                                                                                                                |
| --------- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `html`    | `html`                               |                                                                                                                                                                                                                                                                                                                            |
| `json`    | `json`                               |                                                                                                                                                                                                                                                                                                                            |
| `entries` | `val entries: EnumEntries<Format>`   | Returns a representation of an immutable list of all enum entries, in the order they're declared. This method may be used to iterate over the enum entries.                                                                                                                                                                |
| `valueOf` | `fun valueOf(value: String): Format` | Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.) **Throws** - `kotlin.IllegalArgumentException`: if this enum type has no constant with the specified name |
| `values`  | `fun values(): Array<Format>`        | Returns an array containing the constants of this enum type, in the order they're declared. This method may be used to iterate over the constants.                                                                                                                                                                         |

## FormFieldAttributesDTO

`data class`

```kotlin
@Serializable
data class FormFieldAttributesDTO(val step: Double?, val options: List<FormFieldOptionDTO>?, val maxFiles: Int? = null)
```

| Member                   | Declaration                                                                             | Description |
| ------------------------ | --------------------------------------------------------------------------------------- | ----------- |
| `FormFieldAttributesDTO` | `constructor(step: Double?, options: List<FormFieldOptionDTO>?, maxFiles: Int? = null)` |             |
| `maxFiles`               | `@SerialName(value = "max_files") val maxFiles: Int?`                                   |             |
| `options`                | `@SerialName(value = "options") val options: List<FormFieldOptionDTO>?`                 |             |
| `step`                   | `@SerialName(value = "step") val step: Double?`                                         |             |

## FormFieldDTO

`data class`

```kotlin
@Serializable
data class FormFieldDTO(val inputType: FormFieldInputType, val required: Boolean, val order: Int, val slug: String, val texts: FormFieldTextsDTO, val attributes: FormFieldAttributesDTO?, val validators: List<FormFieldValidatorDTO>?)
```

| Member            | Declaration                                                                                                                                                                                        | Description                                                                                                   |
| ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| `FormFieldDTO`    | `constructor(inputType: FormFieldInputType, required: Boolean, order: Int, slug: String, texts: FormFieldTextsDTO, attributes: FormFieldAttributesDTO?, validators: List<FormFieldValidatorDTO>?)` |                                                                                                               |
| `accessibilityId` | `val accessibilityId: String`                                                                                                                                                                      | Generates a unique accessibility identifier for Appium automation Format: form\_field\_input\_type`slug`label |
| `attributes`      | `@SerialName(value = "attributes") val attributes: FormFieldAttributesDTO?`                                                                                                                        |                                                                                                               |
| `firstMaximum`    | `val firstMaximum: Int?`                                                                                                                                                                           |                                                                                                               |
| `firstMaxLength`  | `val firstMaxLength: Int?`                                                                                                                                                                         |                                                                                                               |
| `firstMinimum`    | `val firstMinimum: Int?`                                                                                                                                                                           |                                                                                                               |
| `inputType`       | `@SerialName(value = "input_type") val inputType: FormFieldInputType`                                                                                                                              |                                                                                                               |
| `order`           | `@SerialName(value = "order") val order: Int`                                                                                                                                                      |                                                                                                               |
| `required`        | `@SerialName(value = "required") val required: Boolean`                                                                                                                                            |                                                                                                               |
| `slug`            | `@SerialName(value = "slug") val slug: String`                                                                                                                                                     |                                                                                                               |
| `texts`           | `@SerialName(value = "texts") val texts: FormFieldTextsDTO`                                                                                                                                        |                                                                                                               |
| `validators`      | `@SerialName(value = "validators") val validators: List<FormFieldValidatorDTO>?`                                                                                                                   |                                                                                                               |

## FormFieldInputType

`enum`

```kotlin
@Serializable
enum FormFieldInputType : Enum<FormFieldInputType>
```

| Member     | Declaration                                      | Description                                                                                                                                                                                                                                                                                                                |
| ---------- | ------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `TEXT`     | `TEXT`                                           |                                                                                                                                                                                                                                                                                                                            |
| `TEXTAREA` | `TEXTAREA`                                       |                                                                                                                                                                                                                                                                                                                            |
| `EMAIL`    | `EMAIL`                                          |                                                                                                                                                                                                                                                                                                                            |
| `NUMBER`   | `NUMBER`                                         |                                                                                                                                                                                                                                                                                                                            |
| `RANGE`    | `RANGE`                                          |                                                                                                                                                                                                                                                                                                                            |
| `SELECT`   | `SELECT`                                         |                                                                                                                                                                                                                                                                                                                            |
| `FILE`     | `FILE`                                           |                                                                                                                                                                                                                                                                                                                            |
| `RADIO`    | `RADIO`                                          |                                                                                                                                                                                                                                                                                                                            |
| `CHECKBOX` | `CHECKBOX`                                       |                                                                                                                                                                                                                                                                                                                            |
| `entries`  | `val entries: EnumEntries<FormFieldInputType>`   | Returns a representation of an immutable list of all enum entries, in the order they're declared. This method may be used to iterate over the enum entries.                                                                                                                                                                |
| `valueOf`  | `fun valueOf(value: String): FormFieldInputType` | Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.) **Throws** - `kotlin.IllegalArgumentException`: if this enum type has no constant with the specified name |
| `values`   | `fun values(): Array<FormFieldInputType>`        | Returns an array containing the constants of this enum type, in the order they're declared. This method may be used to iterate over the constants.                                                                                                                                                                         |

## FormFieldOptionDTO

`data class`

```kotlin
@Serializable
data class FormFieldOptionDTO(val id: String?, val label: String, val value: String)
```

| Member               | Declaration                                              | Description                                                                                           |
| -------------------- | -------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| `FormFieldOptionDTO` | `constructor(id: String?, label: String, value: String)` |                                                                                                       |
| `accessibilityId`    | `val accessibilityId: String`                            | Generates a unique accessibility identifier for Appium automation Format: form\_option\_`id`\_`label` |
| `id`                 | `@SerialName(value = "id") val id: String?`              |                                                                                                       |
| `label`              | `@SerialName(value = "label") val label: String`         |                                                                                                       |
| `value`              | `@SerialName(value = "value") val value: String`         |                                                                                                       |

## FormFieldTextsDTO

`data class`

```kotlin
@Serializable
data class FormFieldTextsDTO(val label: String, val placeholderText: String?, val helpText: String?)
```

| Member              | Declaration                                                               | Description                                                                                          |
| ------------------- | ------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| `FormFieldTextsDTO` | `constructor(label: String, placeholderText: String?, helpText: String?)` |                                                                                                      |
| `accessibilityId`   | `val accessibilityId: String`                                             | Generates a unique accessibility identifier for Appium automation Format: form\_field\_text\_`label` |
| `helpText`          | `@SerialName(value = "help_text") val helpText: String?`                  |                                                                                                      |
| `label`             | `@SerialName(value = "label") val label: String`                          |                                                                                                      |
| `placeholderText`   | `@SerialName(value = "placeholder_text") val placeholderText: String?`    |                                                                                                      |

## FormFieldValidatorDTO

`data class`

```kotlin
@Serializable
data class FormFieldValidatorDTO(val minimum: Int? = null, val maximum: Int? = null, val minLength: Int? = null, val maxLength: Int? = null, rawPattern: String? = null)
```

| Member                  | Declaration                                                                                                                           | Description |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| `FormFieldValidatorDTO` | `constructor(minimum: Int? = null, maximum: Int? = null, minLength: Int? = null, maxLength: Int? = null, rawPattern: String? = null)` |             |
| `maximum`               | `@SerialName(value = "maximum") val maximum: Int?`                                                                                    |             |
| `maxLength`             | `@SerialName(value = "max_length") val maxLength: Int?`                                                                               |             |
| `minimum`               | `@SerialName(value = "minimum") val minimum: Int?`                                                                                    |             |
| `minLength`             | `@SerialName(value = "min_length") val minLength: Int?`                                                                               |             |
| `pattern`               | `@Transient val pattern: String?`                                                                                                     |             |

## FormSDK

`data class`

```kotlin
@Serializable
data class FormSDK(val id: String, val createdAt: String, val updatedAt: String, val submitDialogueId: String, val cancelDialogueId: String, val languageCode: String, val texts: FormTextsDTO, val fields: List<FormFieldDTO>, val submissionId: String, var state: MutableStateFlow<FormState>? = MutableStateFlow(FormState.ACTIVE), var submittedFields: Map<String, String> = emptyMap())
```

| Member             | Declaration                                                                                                                                                                                                                                                                                                                                   | Description                                                                                 |
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
| `FormSDK`          | `constructor(id: String, createdAt: String, updatedAt: String, submitDialogueId: String, cancelDialogueId: String, languageCode: String, texts: FormTextsDTO, fields: List<FormFieldDTO>, submissionId: String, state: MutableStateFlow<FormState>? = MutableStateFlow(FormState.ACTIVE), submittedFields: Map<String, String> = emptyMap())` |                                                                                             |
| `accessibilityId`  | `val accessibilityId: String`                                                                                                                                                                                                                                                                                                                 | Generates a unique accessibility identifier for Appium automation Format: form\_`id`\_title |
| `cancelDialogueId` | `@SerialName(value = "cancel_dialogue_id") val cancelDialogueId: String`                                                                                                                                                                                                                                                                      |                                                                                             |
| `createdAt`        | `@SerialName(value = "created_at") val createdAt: String`                                                                                                                                                                                                                                                                                     |                                                                                             |
| `fields`           | `@SerialName(value = "fields") val fields: List<FormFieldDTO>`                                                                                                                                                                                                                                                                                |                                                                                             |
| `id`               | `@SerialName(value = "id") val id: String`                                                                                                                                                                                                                                                                                                    |                                                                                             |
| `languageCode`     | `@SerialName(value = "language_code") val languageCode: String`                                                                                                                                                                                                                                                                               |                                                                                             |
| `state`            | `@Transient var state: MutableStateFlow<FormState>?`                                                                                                                                                                                                                                                                                          |                                                                                             |
| `submissionId`     | `@SerialName(value = "submission_id") val submissionId: String`                                                                                                                                                                                                                                                                               |                                                                                             |
| `submitDialogueId` | `@SerialName(value = "submit_dialogue_id") val submitDialogueId: String`                                                                                                                                                                                                                                                                      |                                                                                             |
| `submittedFields`  | `@Transient var submittedFields: Map<String, String>`                                                                                                                                                                                                                                                                                         |                                                                                             |
| `texts`            | `@SerialName(value = "texts") val texts: FormTextsDTO`                                                                                                                                                                                                                                                                                        |                                                                                             |
| `updatedAt`        | `@SerialName(value = "updated_at") val updatedAt: String`                                                                                                                                                                                                                                                                                     |                                                                                             |
| `equals`           | `open operator override fun equals(other: Any?): Boolean`                                                                                                                                                                                                                                                                                     |                                                                                             |
| `hashCode`         | `open override fun hashCode(): Int`                                                                                                                                                                                                                                                                                                           |                                                                                             |

## FormTextsDTO

`data class`

```kotlin
@Serializable
data class FormTextsDTO(val title: String?, val submitButtonText: String, val cancelButtonText: String, val cancelText: String, val errorText: String, val unansweredText: String)
```

| Member             | Declaration                                                                                                                                      | Description |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ----------- |
| `FormTextsDTO`     | `constructor(title: String?, submitButtonText: String, cancelButtonText: String, cancelText: String, errorText: String, unansweredText: String)` |             |
| `cancelButtonText` | `@SerialName(value = "cancel_button_text") val cancelButtonText: String`                                                                         |             |
| `cancelText`       | `@SerialName(value = "cancel_text") val cancelText: String`                                                                                      |             |
| `errorText`        | `@SerialName(value = "error_text") val errorText: String`                                                                                        |             |
| `submitButtonText` | `@SerialName(value = "submit_button_text") val submitButtonText: String`                                                                         |             |
| `title`            | `@SerialName(value = "title") val title: String?`                                                                                                |             |
| `unansweredText`   | `@SerialName(value = "unanswered_text") val unansweredText: String`                                                                              |             |

## ImageItem

`data class`

```kotlin
@Serializable
data class ImageItem(val id: String?, val imageUrl: String? = "", val title: String?, val description: String?, val altText: String?, val newTab: Boolean?, val linkUrl: String?, val buttons: List<ButtonDataSDK>? = null)
```

Image object

| Member            | Declaration                                                                                                                                                                          | Description                                                                                          |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------- |
| `ImageItem`       | `constructor(id: String?, imageUrl: String? = "", title: String?, description: String?, altText: String?, newTab: Boolean?, linkUrl: String?, buttons: List<ButtonDataSDK>? = null)` |                                                                                                      |
| `accessibilityId` | `val accessibilityId: String`                                                                                                                                                        | Generates a unique accessibility identifier for Appium automation Format: image\_`id`\_title/altText |
| `altText`         | `val altText: String?`                                                                                                                                                               |                                                                                                      |
| `buttons`         | `val buttons: List<ButtonDataSDK>?`                                                                                                                                                  |                                                                                                      |
| `description`     | `val description: String?`                                                                                                                                                           |                                                                                                      |
| `id`              | `val id: String?`                                                                                                                                                                    |                                                                                                      |
| `imageUrl`        | `val imageUrl: String?`                                                                                                                                                              |                                                                                                      |
| `linkUrl`         | `val linkUrl: String?`                                                                                                                                                               |                                                                                                      |
| `newTab`          | `val newTab: Boolean?`                                                                                                                                                               |                                                                                                      |
| `title`           | `val title: String?`                                                                                                                                                                 |                                                                                                      |

## LanguageSwitchRequest

`data class`

```kotlin
@Serializable
data class LanguageSwitchRequest(val languageCode: String)
```

| Member                  | Declaration                                                    | Description |
| ----------------------- | -------------------------------------------------------------- | ----------- |
| `LanguageSwitchRequest` | `constructor(languageCode: String)`                            |             |
| `languageCode`          | `@SerialName(value = "languageCode") val languageCode: String` |             |

## MessageActionResponse

`data class`

```kotlin
@Serializable
data class MessageActionResponse(val chatmessageId: String? = null, val id: String? = null, val created: String? = null, val temporaryId: String? = null)
```

| Member                  | Declaration                                                                                                            | Description |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------- | ----------- |
| `MessageActionResponse` | `constructor(chatmessageId: String? = null, id: String? = null, created: String? = null, temporaryId: String? = null)` |             |
| `chatmessageId`         | `@SerialName(value = "chatmessage_id") val chatmessageId: String?`                                                     |             |
| `created`               | `@SerialName(value = "created") val created: String?`                                                                  |             |
| `id`                    | `@SerialName(value = "id") val id: String?`                                                                            |             |
| `temporaryId`           | `@SerialName(value = "temporaryId") val temporaryId: String?`                                                          |             |

## MessageData

`data class`

```kotlin
@Serializable
data class MessageData(val sessionId: String?, val botId: Int?, val chatId: String?, val chatSource: String?, val chatLanguageCode: String?, val fromBot: Boolean?, val sender: String?, val replyToId: String?, val lastUserMessageId: String?, val skillSubscriptionId: String?, val isFollowup: Boolean?, val message: String?, val messageFormat: String?, val attachments: List<String>? = listOf(), val attachmentIds: List<String>? = listOf(), val messageWithKindlyEntities: String?, val labelsTriggered: List<String>? = listOf(), val imageCarousel: List<ImageCarouselSDK>? = listOf(), val imageCarouselSize: Int?, val urlTrigger: String?, val videoSource: String?, val thonImageAboveText: Boolean?, val buttons: List<ButtonDataSDK>? = listOf(), val exchangeType: String?, val exchangeId: String?, val title: String?, val parentExchangeId: String?, val chatbubbleHideInputField: Boolean?, val webhookUrl: String?, val score: Double?, val handler: String?, val triggeredChatStart: Boolean?, val replyType: String?, val fromWebhook: Boolean?, val agentJoined: Boolean?, val suggestions: List<SuggestionSDK>? = listOf(), val emailReferences: List<String>? = listOf(), val emailFrom: List<String>? = listOf(), val emailTo: List<String>? = listOf(), val emailCc: List<String>? = listOf(), val created: String?, val v: Int?, val id: String?, val systemDialogMessageType: String?, val duringBusinessHours: Boolean?, val handoverRequestWhenTriggered: Boolean?, val name: String?, val avatar: String?, val systemDialogueCategory: String?, val form: FormSDK?, val messageReferences: List<ChatMessageReferenceModel>? = listOf(), val eventMessage: String?)
```

| Member                         | Declaration                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | Description |
| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------- |
| `MessageData`                  | `constructor(sessionId: String?, botId: Int?, chatId: String?, chatSource: String?, chatLanguageCode: String?, fromBot: Boolean?, sender: String?, replyToId: String?, lastUserMessageId: String?, skillSubscriptionId: String?, isFollowup: Boolean?, message: String?, messageFormat: String?, attachments: List<String>? = listOf(), attachmentIds: List<String>? = listOf(), messageWithKindlyEntities: String?, labelsTriggered: List<String>? = listOf(), imageCarousel: List<ImageCarouselSDK>? = listOf(), imageCarouselSize: Int?, urlTrigger: String?, videoSource: String?, thonImageAboveText: Boolean?, buttons: List<ButtonDataSDK>? = listOf(), exchangeType: String?, exchangeId: String?, title: String?, parentExchangeId: String?, chatbubbleHideInputField: Boolean?, webhookUrl: String?, score: Double?, handler: String?, triggeredChatStart: Boolean?, replyType: String?, fromWebhook: Boolean?, agentJoined: Boolean?, suggestions: List<SuggestionSDK>? = listOf(), emailReferences: List<String>? = listOf(), emailFrom: List<String>? = listOf(), emailTo: List<String>? = listOf(), emailCc: List<String>? = listOf(), created: String?, v: Int?, id: String?, systemDialogMessageType: String?, duringBusinessHours: Boolean?, handoverRequestWhenTriggered: Boolean?, name: String?, avatar: String?, systemDialogueCategory: String?, form: FormSDK?, messageReferences: List<ChatMessageReferenceModel>? = listOf(), eventMessage: String?)` |             |
| `agentJoined`                  | `@SerialName(value = "agent_joined") val agentJoined: Boolean?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |             |
| `attachmentIds`                | `@SerialName(value = "attachment_ids") val attachmentIds: List<String>?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |             |
| `attachments`                  | `@SerialName(value = "attachments") val attachments: List<String>?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |             |
| `avatar`                       | `@SerialName(value = "avatar") val avatar: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |             |
| `botId`                        | `@SerialName(value = "bot_id") val botId: Int?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |             |
| `buttons`                      | `@SerialName(value = "buttons") val buttons: List<ButtonDataSDK>?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |             |
| `chatbubbleHideInputField`     | `@SerialName(value = "chatbubble_hide_input_field") val chatbubbleHideInputField: Boolean?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |             |
| `chatId`                       | `@SerialName(value = "chat_id") val chatId: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |             |
| `chatLanguageCode`             | `@SerialName(value = "chat_language_code") val chatLanguageCode: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |             |
| `chatSource`                   | `@SerialName(value = "chat_source") val chatSource: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |             |
| `created`                      | `@SerialName(value = "created") val created: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |             |
| `duringBusinessHours`          | `@SerialName(value = "during_business_hours") val duringBusinessHours: Boolean?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |             |
| `emailCc`                      | `@SerialName(value = "email_cc") val emailCc: List<String>?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |             |
| `emailFrom`                    | `@SerialName(value = "email_from") val emailFrom: List<String>?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |             |
| `emailReferences`              | `@SerialName(value = "email_references") val emailReferences: List<String>?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |             |
| `emailTo`                      | `@SerialName(value = "email_to") val emailTo: List<String>?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |             |
| `eventMessage`                 | `@SerialName(value = "event_message") val eventMessage: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |             |
| `exchangeId`                   | `@SerialName(value = "exchange_id") val exchangeId: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |             |
| `exchangeType`                 | `@SerialName(value = "exchange_type") val exchangeType: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |             |
| `form`                         | `@SerialName(value = "form") val form: FormSDK?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |             |
| `fromBot`                      | `@SerialName(value = "from_bot") val fromBot: Boolean?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |             |
| `fromWebhook`                  | `@SerialName(value = "from_webhook") val fromWebhook: Boolean?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |             |
| `handler`                      | `@SerialName(value = "handler") val handler: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |             |
| `handoverRequestWhenTriggered` | `@SerialName(value = "handover_request_when_triggered") val handoverRequestWhenTriggered: Boolean?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |             |
| `id`                           | `@SerialName(value = "id") val id: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |             |
| `imageCarousel`                | `@SerialName(value = "image_carousel") val imageCarousel: List<ImageCarouselSDK>?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |             |
| `imageCarouselSize`            | `@SerialName(value = "image_carousel_size") val imageCarouselSize: Int?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |             |
| `isFollowup`                   | `@SerialName(value = "is_followup") val isFollowup: Boolean?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |             |
| `labelsTriggered`              | `@SerialName(value = "labels_triggered") val labelsTriggered: List<String>?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |             |
| `lastUserMessageId`            | `@SerialName(value = "last_user_message_id") val lastUserMessageId: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |             |
| `message`                      | `@SerialName(value = "message") val message: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |             |
| `messageFormat`                | `@SerialName(value = "message_format") val messageFormat: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |             |
| `messageReferences`            | `@SerialName(value = "message_references") val messageReferences: List<ChatMessageReferenceModel>?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |             |
| `messageWithKindlyEntities`    | `@SerialName(value = "message_with_kindly_entities") val messageWithKindlyEntities: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |             |
| `name`                         | `@SerialName(value = "name") val name: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |             |
| `parentExchangeId`             | `@SerialName(value = "parent_exchange_id") val parentExchangeId: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |             |
| `replyToId`                    | `@SerialName(value = "reply_to_id") val replyToId: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |             |
| `replyType`                    | `@SerialName(value = "reply_type") val replyType: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |             |
| `score`                        | `@SerialName(value = "score") val score: Double?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |             |
| `sender`                       | `@SerialName(value = "sender") val sender: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |             |
| `sessionId`                    | `@SerialName(value = "session_id") val sessionId: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |             |
| `skillSubscriptionId`          | `@SerialName(value = "skill_subscription_id") val skillSubscriptionId: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |             |
| `suggestions`                  | `@SerialName(value = "suggestions") val suggestions: List<SuggestionSDK>?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |             |
| `systemDialogMessageType`      | `@SerialName(value = "system_dialogue_message_type") val systemDialogMessageType: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |             |
| `systemDialogueCategory`       | `@SerialName(value = "system_dialogue_category") val systemDialogueCategory: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |             |
| `thonImageAboveText`           | `@SerialName(value = "thon_image_above_text") val thonImageAboveText: Boolean?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |             |
| `title`                        | `@SerialName(value = "title") val title: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |             |
| `triggeredChatStart`           | `@SerialName(value = "triggered_chat_start") val triggeredChatStart: Boolean?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |             |
| `urlTrigger`                   | `@SerialName(value = "url_trigger") val urlTrigger: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |             |
| `v`                            | `@SerialName(value = "__v") val v: Int?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |             |
| `videoSource`                  | `@SerialName(value = "video_source") val videoSource: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |             |
| `webhookUrl`                   | `@SerialName(value = "webhook_url") val webhookUrl: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |             |

## MessageResponse

`data class`

```kotlin
@Serializable
data class MessageResponse(val created: String = "", val id: String = "", val temporaryId: String = "")
```

| Member            | Declaration                                                                    | Description |
| ----------------- | ------------------------------------------------------------------------------ | ----------- |
| `MessageResponse` | `constructor(created: String = "", id: String = "", temporaryId: String = "")` |             |
| `created`         | `@SerialName(value = "created") val created: String`                           |             |
| `id`              | `@SerialName(value = "id") val id: String`                                     |             |
| `temporaryId`     | `@SerialName(value = "temporaryId") val temporaryId: String`                   |             |

## MessageSDK

`data class`

```kotlin
@Serializable
data class MessageSDK(val systemDialogMessageType: SystemDialogueMessageType?, val sessionId: String? = null, val botId: Int?, val chatId: String?, val chatSource: String?, val chatLanguageCode: String?, val fromBot: Boolean?, val sender: String?, val replyToId: String?, val lastUserMessageId: String?, val skillSubscriptionId: String?, val isFollowup: Boolean?, val message: String?, val messageFormat: MessageFormatType?, val attachments: List<String> = listOf(), val attachmentIds: List<String>? = listOf(), val messageWithKindlyEntities: String?, val labelsTriggered: List<String> = listOf(), val imageCarousel: List<ImageItem>? = listOf(), val imageCarouselSize: Int?, val urlTrigger: String?, val videoSource: String?, val thonImageAboveText: Boolean?, val buttons: List<ButtonSDK> = listOf(), val exchangeType: String?, val exchangeId: String?, val title: String?, val parentExchangeId: String?, val chatbubbleHideInputField: Boolean?, val webhookUrl: String?, val score: Double?, val handler: String?, val triggeredChatStart: Boolean?, val replyType: String?, val fromWebhook: Boolean?, val agentJoined: Boolean?, val suggestions: List<SuggestionSDK> = listOf(), val emailReferences: List<String>? = listOf(), val emailFrom: List<String>? = listOf(), val emailTo: List<String>? = listOf(), val emailCc: List<String>? = listOf(), val created: String?, val v: Int?, val id: String?, val isMine: Boolean = true, val newContext: Map<String, String>? = LifecycleVars.kindlyContext, val duringBusinessHours: Boolean?, val handoverRequestWhenTriggered: Boolean?, val name: String?, val avatar: String?, val systemDialogueCategory: SystemDialogueCategoryType?, val form: FormSDK?, val messageReferences: List<ChatMessageReferenceModel>? = listOf(), val eventMessage: String?, val temporaryId: String? = null)
```

| Member                         | Declaration                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | Description |
| ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| `MessageSDK`                   | `constructor(systemDialogMessageType: SystemDialogueMessageType?, sessionId: String? = null, botId: Int?, chatId: String?, chatSource: String?, chatLanguageCode: String?, fromBot: Boolean?, sender: String?, replyToId: String?, lastUserMessageId: String?, skillSubscriptionId: String?, isFollowup: Boolean?, message: String?, messageFormat: MessageFormatType?, attachments: List<String> = listOf(), attachmentIds: List<String>? = listOf(), messageWithKindlyEntities: String?, labelsTriggered: List<String> = listOf(), imageCarousel: List<ImageItem>? = listOf(), imageCarouselSize: Int?, urlTrigger: String?, videoSource: String?, thonImageAboveText: Boolean?, buttons: List<ButtonSDK> = listOf(), exchangeType: String?, exchangeId: String?, title: String?, parentExchangeId: String?, chatbubbleHideInputField: Boolean?, webhookUrl: String?, score: Double?, handler: String?, triggeredChatStart: Boolean?, replyType: String?, fromWebhook: Boolean?, agentJoined: Boolean?, suggestions: List<SuggestionSDK> = listOf(), emailReferences: List<String>? = listOf(), emailFrom: List<String>? = listOf(), emailTo: List<String>? = listOf(), emailCc: List<String>? = listOf(), created: String?, v: Int?, id: String?, isMine: Boolean = true, newContext: Map<String, String>? = LifecycleVars.kindlyContext, duringBusinessHours: Boolean?, handoverRequestWhenTriggered: Boolean?, name: String?, avatar: String?, systemDialogueCategory: SystemDialogueCategoryType?, form: FormSDK?, messageReferences: List<ChatMessageReferenceModel>? = listOf(), eventMessage: String?, temporaryId: String? = null)` |             |
| `agentJoined`                  | `val agentJoined: Boolean?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |             |
| `attachmentIds`                | `val attachmentIds: List<String>?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |             |
| `attachments`                  | `val attachments: List<String>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |             |
| `avatar`                       | `val avatar: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |             |
| `botId`                        | `val botId: Int?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |             |
| `buttons`                      | `val buttons: List<ButtonSDK>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |             |
| `chatbubbleHideInputField`     | `val chatbubbleHideInputField: Boolean?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |             |
| `chatId`                       | `val chatId: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |             |
| `chatLanguageCode`             | `val chatLanguageCode: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |             |
| `chatSource`                   | `val chatSource: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |             |
| `created`                      | `val created: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |             |
| `duringBusinessHours`          | `val duringBusinessHours: Boolean?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |             |
| `emailCc`                      | `val emailCc: List<String>?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |             |
| `emailFrom`                    | `val emailFrom: List<String>?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |             |
| `emailReferences`              | `val emailReferences: List<String>?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |             |
| `emailTo`                      | `val emailTo: List<String>?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |             |
| `eventMessage`                 | `val eventMessage: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |             |
| `exchangeId`                   | `val exchangeId: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |             |
| `exchangeType`                 | `val exchangeType: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |             |
| `form`                         | `val form: FormSDK?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |             |
| `fromBot`                      | `val fromBot: Boolean?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |             |
| `fromWebhook`                  | `val fromWebhook: Boolean?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |             |
| `handler`                      | `val handler: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |             |
| `handoverRequestWhenTriggered` | `val handoverRequestWhenTriggered: Boolean?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |             |
| `id`                           | `val id: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |             |
| `imageCarousel`                | `val imageCarousel: List<ImageItem>?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |             |
| `imageCarouselSize`            | `val imageCarouselSize: Int?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |             |
| `isFollowup`                   | `val isFollowup: Boolean?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |             |
| `isMine`                       | `val isMine: Boolean`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |             |
| `labelsTriggered`              | `val labelsTriggered: List<String>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |             |
| `lastUserMessageId`            | `val lastUserMessageId: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |             |
| `message`                      | `@SerialName(value = "message") val message: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |             |
| `messageFormat`                | `val messageFormat: MessageFormatType?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |             |
| `messageReferences`            | `val messageReferences: List<ChatMessageReferenceModel>?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |             |
| `messageWithKindlyEntities`    | `val messageWithKindlyEntities: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |             |
| `name`                         | `val name: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |             |
| `newContext`                   | `@SerialName(value = "new_context") val newContext: Map<String, String>?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |             |
| `parentExchangeId`             | `val parentExchangeId: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |             |
| `replyToId`                    | `val replyToId: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |             |
| `replyType`                    | `val replyType: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |             |
| `score`                        | `val score: Double?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |             |
| `sender`                       | `val sender: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |             |
| `sessionId`                    | `val sessionId: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |             |
| `skillSubscriptionId`          | `val skillSubscriptionId: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |             |
| `suggestions`                  | `val suggestions: List<SuggestionSDK>`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |             |
| `systemDialogMessageType`      | `val systemDialogMessageType: SystemDialogueMessageType?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |             |
| `systemDialogueCategory`       | `val systemDialogueCategory: SystemDialogueCategoryType?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |             |
| `temporaryId`                  | `@SerialName(value = "temporaryId") val temporaryId: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |             |
| `thonImageAboveText`           | `val thonImageAboveText: Boolean?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |             |
| `title`                        | `val title: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |             |
| `triggeredChatStart`           | `val triggeredChatStart: Boolean?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |             |
| `urlTrigger`                   | `val urlTrigger: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |             |
| `v`                            | `val v: Int?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |             |
| `videoSource`                  | `val videoSource: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |             |
| `webhookUrl`                   | `val webhookUrl: String?`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |             |

## NotificationServiceRequestModel

`data class`

```kotlin
@Serializable
data class NotificationServiceRequestModel(var notificationToken: String, var bundleId: String, var isProduction: Boolean = true)
```

| Member                            | Declaration                                                                              | Description |
| --------------------------------- | ---------------------------------------------------------------------------------------- | ----------- |
| `NotificationServiceRequestModel` | `constructor(notificationToken: String, bundleId: String, isProduction: Boolean = true)` |             |
| `bundleId`                        | `@SerialName(value = "bundle_id") var bundleId: String`                                  |             |
| `isProduction`                    | `@SerialName(value = "production") var isProduction: Boolean`                            |             |
| `notificationToken`               | `@SerialName(value = "notification_token") var notificationToken: String`                |             |

## NotificationServiceResponseModel

`data class`

```kotlin
@Serializable
data class NotificationServiceResponseModel(val id: Int? = null, val encryptionKey: String? = null, val encryptionIV: String? = null)
```

| Member                             | Declaration                                                                                 | Description |
| ---------------------------------- | ------------------------------------------------------------------------------------------- | ----------- |
| `NotificationServiceResponseModel` | `constructor(id: Int? = null, encryptionKey: String? = null, encryptionIV: String? = null)` |             |
| `encryptionIV`                     | `@SerialName(value = "encryption_iv") val encryptionIV: String?`                            |             |
| `encryptionKey`                    | `@SerialName(value = "encryption_key") val encryptionKey: String?`                          |             |
| `id`                               | `val id: Int?`                                                                              |             |

## OEmbedData

`data class`

```kotlin
@Serializable
data class OEmbedData(val height: Int? = null, val width: Int? = null, var html: String? = null, val providerUrl: String? = null, val title: String? = null) : Parcelable
```

| Member            | Declaration                                                                                                                      | Description                                                                                        |
| ----------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| `OEmbedData`      | `constructor(height: Int? = null, width: Int? = null, html: String? = null, providerUrl: String? = null, title: String? = null)` |                                                                                                    |
| `accessibilityId` | `val accessibilityId: String`                                                                                                    | Generates a unique accessibility identifier for Appium automation Format: embed\_provider\_`title` |
| `height`          | `@SerialName(value = "height") val height: Int?`                                                                                 |                                                                                                    |
| `html`            | `@SerialName(value = "html") var html: String?`                                                                                  |                                                                                                    |
| `providerUrl`     | `@SerialName(value = "provider_url") val providerUrl: String?`                                                                   |                                                                                                    |
| `title`           | `@SerialName(value = "title") val title: String?`                                                                                |                                                                                                    |
| `width`           | `@SerialName(value = "width") val width: Int?`                                                                                   |                                                                                                    |

## PostMessageResponse

`data class`

```kotlin
@Serializable
data class PostMessageResponse(val chatId: String?, val created: String?, val token: String = "")
```

| Member                | Declaration                                                          | Description |
| --------------------- | -------------------------------------------------------------------- | ----------- |
| `PostMessageResponse` | `constructor(chatId: String?, created: String?, token: String = "")` |             |
| `chatId`              | `@SerialName(value = "chat_id") val chatId: String?`                 |             |
| `created`             | `@SerialName(value = "created") val created: String?`                |             |
| `token`               | `@SerialName(value = "token") val token: String`                     |             |

## TakeoverData

`data class`

```kotlin
@Serializable
data class TakeoverData(val hasRequestedTakeover: Boolean?, val takeOver: Boolean?, val avatar: String?, val name: String?, val supportsAttachments: Boolean?, val handoverQueuePosition: Int?, val handoverWaitTimeEstimate: Int?)
```

| Member                     | Declaration                                                                                                                                                                                   | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `TakeoverData`             | `constructor(hasRequestedTakeover: Boolean?, takeOver: Boolean?, avatar: String?, name: String?, supportsAttachments: Boolean?, handoverQueuePosition: Int?, handoverWaitTimeEstimate: Int?)` |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `avatar`                   | `@SerialName(value = "avatar") val avatar: String?`                                                                                                                                           |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `handoverQueuePosition`    | `@SerialName(value = "handover_queue_position") val handoverQueuePosition: Int?`                                                                                                              |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `handoverWaitTimeEstimate` | `@SerialName(value = "handover_wait_time_estimate") val handoverWaitTimeEstimate: Int?`                                                                                                       |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `hasRequestedTakeover`     | `@SerialName(value = "has_requested_takeover") val hasRequestedTakeover: Boolean?`                                                                                                            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `isInHandover`             | `val isInHandover: Boolean`                                                                                                                                                                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `name`                     | `@SerialName(value = "name") val name: String?`                                                                                                                                               |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `supportsAttachments`      | `@SerialName(value = "supports_attachment") val supportsAttachments: Boolean?`                                                                                                                |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `takeOver`                 | `@SerialName(value = "taken_over") val takeOver: Boolean?`                                                                                                                                    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `mergedOver`               | `fun mergedOver(previous: TakeoverData?): TakeoverData`                                                                                                                                       | Fold a freshly received payload over the one we already hold. `hasRequestedTakeover` and `takeOver` always come from the incoming payload because they drive the state machine. Every other field is presentation detail the server sends opportunistically, and a missing field means "no news" rather than "cleared": - `name` and `avatar` ride the Pusher `takeover` event and are **never** returned by `/latest`, so the synthesised `/latest` payload has them null. Taking that null would erase the agent we are already showing and leave the header with no name (SDK-400). - `handoverQueuePosition` and `handoverWaitTimeEstimate` arrive in a follow-up event a second or two after the one that opened the queue, so the first payload has them null. |

## TriggerDialogueRequest

`data class`

```kotlin
@Serializable
data class TriggerDialogueRequest(val exchangeId: String)
```

| Member                   | Declaration                                                 | Description |
| ------------------------ | ----------------------------------------------------------- | ----------- |
| `TriggerDialogueRequest` | `constructor(exchangeId: String)`                           |             |
| `exchangeId`             | `@SerialName(value = "exchange_id") val exchangeId: String` |             |

# no.kindly.chatsdk.chat.sdk.data.entity.attachment

## AttachmentEventData

`data class`

```kotlin
@Serializable
data class AttachmentEventData(val attachments: List<AttachmentEventItem>, val chatMessageId: String)
```

Data model for attachment events received via socket. This represents the structure when the server sends attachment updates.

| Member                | Declaration                                                                     | Description |
| --------------------- | ------------------------------------------------------------------------------- | ----------- |
| `AttachmentEventData` | `constructor(attachments: List<AttachmentEventItem>, chatMessageId: String)`    |             |
| `attachments`         | `@SerialName(value = "attachments") val attachments: List<AttachmentEventItem>` |             |
| `chatMessageId`       | `@SerialName(value = "chatMessageId") val chatMessageId: String`                |             |
