# AnnouncementsApi

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

|Method | HTTP request | Description|
|------------- | ------------- | -------------|
|[**createAnnouncement**](#createannouncement) | **POST** /announcements | Create an announcement|
|[**deleteAnnouncement**](#deleteannouncement) | **DELETE** /announcements/{announcementId} | Delete an announcement|
|[**getAnnouncement**](#getannouncement) | **GET** /announcements/{announcementId} | Get an announcement|
|[**getAnnouncementAudience**](#getannouncementaudience) | **GET** /announcements/{announcementId}/audience | List an announcement\&#39;s target audience|
|[**getAnnouncementEmailReceipts**](#getannouncementemailreceipts) | **GET** /announcements/{announcementId}/email-receipts | List an announcement\&#39;s email delivery receipts|
|[**getAnnouncements**](#getannouncements) | **GET** /announcements | List announcements|
|[**sendAnnouncementPreview**](#sendannouncementpreview) | **POST** /announcements/{announcementId}/preview | Send a preview of an announcement|
|[**updateAnnouncement**](#updateannouncement) | **PUT** /announcements/{announcementId} | Update an announcement|

# **createAnnouncement**
> CreateAnnouncement200Response createAnnouncement(announcementCreateInputs)

Creates a new announcement for the organization, requiring at least one audience target (event, group, tier, channel, account, or verified accounts) and requiring create permission on announcements; admins cannot assign the creator directly.

### Example

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

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

let announcementCreateInputs: AnnouncementCreateInputs; //

const { status, data } = await apiInstance.createAnnouncement(
    announcementCreateInputs
);
```

### Parameters

|Name | Type | Description  | Notes|
|------------- | ------------- | ------------- | -------------|
| **announcementCreateInputs** | **AnnouncementCreateInputs**|  | |


### Return type

**CreateAnnouncement200Response**

### 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)

# **deleteAnnouncement**
> CreateAccountInvitations200Response deleteAnnouncement()

Permanently deletes the given announcement from the organization; requires delete permission on announcements.

### Example

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

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

let announcementId: string; //The announcement identifier (default to undefined)

const { status, data } = await apiInstance.deleteAnnouncement(
    announcementId
);
```

### Parameters

|Name | Type | Description  | Notes|
|------------- | ------------- | ------------- | -------------|
| **announcementId** | [**string**] | The announcement identifier | defaults to undefined|


### Return type

**CreateAccountInvitations200Response**

### 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)

# **getAnnouncement**
> CreateAnnouncement200Response getAnnouncement()

Returns the details of a single announcement by its ID; requires read permission on announcements.

### Example

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

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

let announcementId: string; //The announcement identifier (default to undefined)

const { status, data } = await apiInstance.getAnnouncement(
    announcementId
);
```

### Parameters

|Name | Type | Description  | Notes|
|------------- | ------------- | ------------- | -------------|
| **announcementId** | [**string**] | The announcement identifier | defaults to undefined|


### Return type

**CreateAnnouncement200Response**

### 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)

# **getAnnouncementAudience**
> GetAnnouncementAudience200Response getAnnouncementAudience()

Returns a paginated list of the accounts that an announcement was or will be sent to, supporting search and ordering; requires read permission on announcements.

### Example

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

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

let announcementId: string; //The announcement identifier (default to undefined)
let page: number; //Page number (optional) (default to 1)
let pageSize: number; //Number of items per page (optional) (default to 25)
let orderBy: string; //Field to order by (optional) (default to undefined)
let search: string; //Search query (optional) (default to undefined)

const { status, data } = await apiInstance.getAnnouncementAudience(
    announcementId,
    page,
    pageSize,
    orderBy,
    search
);
```

### Parameters

|Name | Type | Description  | Notes|
|------------- | ------------- | ------------- | -------------|
| **announcementId** | [**string**] | The announcement identifier | defaults to undefined|
| **page** | [**number**] | Page number | (optional) defaults to 1|
| **pageSize** | [**number**] | Number of items per page | (optional) defaults to 25|
| **orderBy** | [**string**] | Field to order by | (optional) defaults to undefined|
| **search** | [**string**] | Search query | (optional) defaults to undefined|


### Return type

**GetAnnouncementAudience200Response**

### 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)

# **getAnnouncementEmailReceipts**
> GetAcccountEmailReceipts200Response getAnnouncementEmailReceipts()

Returns a paginated list of email receipts recording delivery status for the given announcement, optionally filtered by delivery status, with search and ordering support; requires read permission on both announcements and logs.

### Example

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

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

let announcementId: string; //The announcement identifier (default to undefined)
let status: EmailReceiptStatus; //Filter by status (optional) (default to undefined)
let page: number; //Page number (optional) (default to 1)
let pageSize: number; //Number of items per page (optional) (default to 25)
let orderBy: string; //Field to order by (optional) (default to undefined)
let search: string; //Search query (optional) (default to undefined)

const { status, data } = await apiInstance.getAnnouncementEmailReceipts(
    announcementId,
    status,
    page,
    pageSize,
    orderBy,
    search
);
```

### Parameters

|Name | Type | Description  | Notes|
|------------- | ------------- | ------------- | -------------|
| **announcementId** | [**string**] | The announcement identifier | defaults to undefined|
| **status** | **EmailReceiptStatus** | Filter by status | (optional) defaults to undefined|
| **page** | [**number**] | Page number | (optional) defaults to 1|
| **pageSize** | [**number**] | Number of items per page | (optional) defaults to 25|
| **orderBy** | [**string**] | Field to order by | (optional) defaults to undefined|
| **search** | [**string**] | Search query | (optional) defaults to undefined|


### Return type

**GetAcccountEmailReceipts200Response**

### 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)

# **getAnnouncements**
> GetAnnouncements200Response getAnnouncements()

Returns a paginated list of announcements for the organization, optionally filtered by event, group, tier, channel, account, sponsorship level, or verified-account status, with search and ordering support; requires read permission on announcements.

### Example

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

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

let filters: AnnouncementFilters; //Filter by filters (optional) (default to undefined)
let page: number; //Page number (optional) (default to 1)
let pageSize: number; //Number of items per page (optional) (default to 25)
let orderBy: string; //Field to order by (optional) (default to undefined)
let search: string; //Search query (optional) (default to undefined)

const { status, data } = await apiInstance.getAnnouncements(
    filters,
    page,
    pageSize,
    orderBy,
    search
);
```

### Parameters

|Name | Type | Description  | Notes|
|------------- | ------------- | ------------- | -------------|
| **filters** | **AnnouncementFilters** | Filter by filters | (optional) defaults to undefined|
| **page** | [**number**] | Page number | (optional) defaults to 1|
| **pageSize** | [**number**] | Number of items per page | (optional) defaults to 25|
| **orderBy** | [**string**] | Field to order by | (optional) defaults to undefined|
| **search** | [**string**] | Search query | (optional) defaults to undefined|


### Return type

**GetAnnouncements200Response**

### 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)

# **sendAnnouncementPreview**
> CreateAccountInvitations200Response sendAnnouncementPreview()

Queues a preview send of the announcement\'s current content to a test recipient (identified by userId or accountId in the announcement), failing if the announcement has no HTML content yet; requires create permission on announcements.

### Example

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

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

let announcementId: string; //The announcement identifier (default to undefined)

const { status, data } = await apiInstance.sendAnnouncementPreview(
    announcementId
);
```

### Parameters

|Name | Type | Description  | Notes|
|------------- | ------------- | ------------- | -------------|
| **announcementId** | [**string**] | The announcement identifier | defaults to undefined|


### Return type

**CreateAccountInvitations200Response**

### 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)

# **updateAnnouncement**
> CreateAnnouncement200Response updateAnnouncement(announcementUpdateInputs)

Updates the fields (such as title, content, or audience targeting) of an existing announcement identified by ID or slug; requires update permission on announcements.

### Example

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

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

let announcementId: string; //The announcement identifier (default to undefined)
let announcementUpdateInputs: AnnouncementUpdateInputs; //

const { status, data } = await apiInstance.updateAnnouncement(
    announcementId,
    announcementUpdateInputs
);
```

### Parameters

|Name | Type | Description  | Notes|
|------------- | ------------- | ------------- | -------------|
| **announcementUpdateInputs** | **AnnouncementUpdateInputs**|  | |
| **announcementId** | [**string**] | The announcement identifier | defaults to undefined|


### Return type

**CreateAnnouncement200Response**

### 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)

