# ThreadsMessagesApi

All URIs are relative to *https://admin-api.connected.dev*

|Method | HTTP request | Description|
|------------- | ------------- | -------------|
|[**createThreadMessage**](#createthreadmessage) | **POST** /threads/{threadId}/messages | Post a new message to a thread|
|[**deleteThreadMessage**](#deletethreadmessage) | **DELETE** /threads/{threadId}/messages/{messageId} | Delete a message from a thread|
|[**getThreadMessage**](#getthreadmessage) | **GET** /threads/{threadId}/messages/{messageId} | Get a single thread message|
|[**getThreadMessages**](#getthreadmessages) | **GET** /threads/{threadId}/messages | List a thread\&#39;s messages|
|[**getThreadMessagesPoll**](#getthreadmessagespoll) | **GET** /threads/{threadId}/messages/poll | Poll a thread for new messages|
|[**updateThreadMessage**](#updatethreadmessage) | **PUT** /threads/{threadId}/messages/{messageId} | Edit a thread message|

# **createThreadMessage**
> CreateThreadMessage200Response createThreadMessage(threadMessageCreateInputs)

Creates a new message in the specified thread on behalf of the given account; requires the \"read\" and \"update\" permissions on threads.

### Example

```typescript
import {
    ThreadsMessagesApi,
    Configuration,
    ThreadMessageCreateInputs
} from '@connectedxm/admin-sdk';

const configuration = new Configuration();
const apiInstance = new ThreadsMessagesApi(configuration);

let threadId: string; //The thread identifier (default to undefined)
let threadMessageCreateInputs: ThreadMessageCreateInputs; //

const { status, data } = await apiInstance.createThreadMessage(
    threadId,
    threadMessageCreateInputs
);
```

### Parameters

|Name | Type | Description  | Notes|
|------------- | ------------- | ------------- | -------------|
| **threadMessageCreateInputs** | **ThreadMessageCreateInputs**|  | |
| **threadId** | [**string**] | The thread identifier | defaults to undefined|


### Return type

**CreateThreadMessage200Response**

### Authorization

[ApiKeyAuth](../README.md#ApiKeyAuth), [OrganizationId](../README.md#OrganizationId)

### HTTP request headers

 - **Content-Type**: application/json
 - **Accept**: application/json


### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | Successful response |  -  |

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

# **deleteThreadMessage**
> CreateThreadMessage200Response deleteThreadMessage()

Deletes a message from a thread, soft-deleting it if it has reply children or removing it outright otherwise; requires the \"read\" and \"del\" permissions on threads.

### Example

```typescript
import {
    ThreadsMessagesApi,
    Configuration
} from '@connectedxm/admin-sdk';

const configuration = new Configuration();
const apiInstance = new ThreadsMessagesApi(configuration);

let threadId: string; //The thread identifier (default to undefined)
let messageId: string; //The message identifier (default to undefined)

const { status, data } = await apiInstance.deleteThreadMessage(
    threadId,
    messageId
);
```

### Parameters

|Name | Type | Description  | Notes|
|------------- | ------------- | ------------- | -------------|
| **threadId** | [**string**] | The thread identifier | defaults to undefined|
| **messageId** | [**string**] | The message identifier | defaults to undefined|


### Return type

**CreateThreadMessage200Response**

### Authorization

[ApiKeyAuth](../README.md#ApiKeyAuth), [OrganizationId](../README.md#OrganizationId)

### HTTP request headers

 - **Content-Type**: Not defined
 - **Accept**: application/json


### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | Successful response |  -  |

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

# **getThreadMessage**
> CreateThreadMessage200Response getThreadMessage()

Returns a single message from the given thread by its ID; requires read permission on threads.

### Example

```typescript
import {
    ThreadsMessagesApi,
    Configuration
} from '@connectedxm/admin-sdk';

const configuration = new Configuration();
const apiInstance = new ThreadsMessagesApi(configuration);

let threadId: string; //The thread identifier (default to undefined)
let messageId: string; //The message identifier (default to undefined)

const { status, data } = await apiInstance.getThreadMessage(
    threadId,
    messageId
);
```

### Parameters

|Name | Type | Description  | Notes|
|------------- | ------------- | ------------- | -------------|
| **threadId** | [**string**] | The thread identifier | defaults to undefined|
| **messageId** | [**string**] | The message identifier | defaults to undefined|


### Return type

**CreateThreadMessage200Response**

### Authorization

[ApiKeyAuth](../README.md#ApiKeyAuth), [OrganizationId](../README.md#OrganizationId)

### HTTP request headers

 - **Content-Type**: Not defined
 - **Accept**: application/json


### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | Successful response |  -  |

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

# **getThreadMessages**
> GetThreadMessages200Response getThreadMessages()

Returns a cursor-paginated list of messages in the given thread, ordered by send time, with optional search; requires read permission on threads.

### Example

```typescript
import {
    ThreadsMessagesApi,
    Configuration
} from '@connectedxm/admin-sdk';

const configuration = new Configuration();
const apiInstance = new ThreadsMessagesApi(configuration);

let threadId: string; //The thread identifier (default to undefined)

const { status, data } = await apiInstance.getThreadMessages(
    threadId
);
```

### Parameters

|Name | Type | Description  | Notes|
|------------- | ------------- | ------------- | -------------|
| **threadId** | [**string**] | The thread identifier | defaults to undefined|


### Return type

**GetThreadMessages200Response**

### Authorization

[ApiKeyAuth](../README.md#ApiKeyAuth), [OrganizationId](../README.md#OrganizationId)

### HTTP request headers

 - **Content-Type**: Not defined
 - **Accept**: application/json


### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | Successful response |  -  |

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

# **getThreadMessagesPoll**
> GetThreadMessages200Response getThreadMessagesPoll()

Returns any messages sent in the given thread after the provided lastMessageId, for lightweight polling-based updates; requires read permission on threads.

### Example

```typescript
import {
    ThreadsMessagesApi,
    Configuration
} from '@connectedxm/admin-sdk';

const configuration = new Configuration();
const apiInstance = new ThreadsMessagesApi(configuration);

let threadId: string; //The thread identifier (default to undefined)
let lastMessageId: string; //Filter by lastMessageId (default to undefined)

const { status, data } = await apiInstance.getThreadMessagesPoll(
    threadId,
    lastMessageId
);
```

### Parameters

|Name | Type | Description  | Notes|
|------------- | ------------- | ------------- | -------------|
| **threadId** | [**string**] | The thread identifier | defaults to undefined|
| **lastMessageId** | [**string**] | Filter by lastMessageId | defaults to undefined|


### Return type

**GetThreadMessages200Response**

### Authorization

[ApiKeyAuth](../README.md#ApiKeyAuth), [OrganizationId](../README.md#OrganizationId)

### HTTP request headers

 - **Content-Type**: Not defined
 - **Accept**: application/json


### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | Successful response |  -  |

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

# **updateThreadMessage**
> CreateThreadMessage200Response updateThreadMessage(threadMessageUpdateInputs)

Updates the content of an existing message within a thread; requires the \"read\" and \"update\" permissions on threads.

### Example

```typescript
import {
    ThreadsMessagesApi,
    Configuration,
    ThreadMessageUpdateInputs
} from '@connectedxm/admin-sdk';

const configuration = new Configuration();
const apiInstance = new ThreadsMessagesApi(configuration);

let threadId: string; //The thread identifier (default to undefined)
let messageId: string; //The message identifier (default to undefined)
let threadMessageUpdateInputs: ThreadMessageUpdateInputs; //

const { status, data } = await apiInstance.updateThreadMessage(
    threadId,
    messageId,
    threadMessageUpdateInputs
);
```

### Parameters

|Name | Type | Description  | Notes|
|------------- | ------------- | ------------- | -------------|
| **threadMessageUpdateInputs** | **ThreadMessageUpdateInputs**|  | |
| **threadId** | [**string**] | The thread identifier | defaults to undefined|
| **messageId** | [**string**] | The message identifier | defaults to undefined|


### Return type

**CreateThreadMessage200Response**

### Authorization

[ApiKeyAuth](../README.md#ApiKeyAuth), [OrganizationId](../README.md#OrganizationId)

### HTTP request headers

 - **Content-Type**: application/json
 - **Accept**: application/json


### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
|**200** | Successful response |  -  |

[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

