> ## Documentation Index
> Fetch the complete documentation index at: https://docs.corsair.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# API

> API reference for BenchmarkEmail: every `benchmarkemail.api.*` operation with input and output types.

Every `benchmarkemail.api.*` operation is listed below with parameter shapes and return types from the plugin Zod schemas.

<Info>
  **New to Corsair?** See [API access](/concepts/api), [authentication](/concepts/auth), and [error handling](/concepts/error-handling).
</Info>

## Account

### addRemoveInboxTestsFromSubAccount

`account.addRemoveInboxTestsFromSubAccount`

Add or remove inbox tests from a sub-account

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.account.addRemoveInboxTestsFromSubAccount({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `id`   | `string` | Yes      | —                                        |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### changePassword

`account.changePassword`

Change the password for the client account

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.account.changePassword({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### changeSecurityPIN

`account.changeSecurityPIN`

Change the security PIN for the client account

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.account.changeSecurityPIN({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### checkIfResponsive

`account.checkIfResponsive`

Check whether the client is responsive

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.account.checkIfResponsive({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### copyImageToSubAccount

`account.copyImageToSubAccount`

Copy an image to sub-accounts

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.account.copyImageToSubAccount({});
```

**Input**

| Name      | Type     | Required | Description                              |
| --------- | -------- | -------- | ---------------------------------------- |
| `imageID` | `string` | Yes      | —                                        |
| `data`    | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### deleteLinkedAgencyAccount

`account.deleteLinkedAgencyAccount`

Delete a linked agency account

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.account.deleteLinkedAgencyAccount({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### disableSecurityPIN

`account.disableSecurityPIN`

Disable the security PIN for the client account

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.account.disableSecurityPIN({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### generateSupportTicket

`account.generateSupportTicket`

Generate a support ticket

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.account.generateSupportTicket({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getAccountSummary

`account.getAccountSummary`

Get the account summary including image storage

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.account.getAccountSummary({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getAllConfirmedEmails

`account.getAllConfirmedEmails`

Retrieve all confirmed email addresses

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.account.getAllConfirmedEmails({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getClientAccountSettings

`account.getClientAccountSettings`

Get client account settings

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.account.getClientAccountSettings({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getClientDetails

`account.getClientDetails`

Get client details

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.account.getClientDetails({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getClientFilterDomain

`account.getClientFilterDomain`

Get client filter domains

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.account.getClientFilterDomain({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getClientPlanInformation

`account.getClientPlanInformation`

Get client plan information

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.account.getClientPlanInformation({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getClientProfileDetails

`account.getClientProfileDetails`

Get client profile details

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.account.getClientProfileDetails({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getClientsRatingRange

`account.getClientsRatingRange`

Get the clients rating range

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.account.getClientsRatingRange({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getCommissionList

`account.getCommissionList`

Get the partner commission list

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.account.getCommissionList({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getCommunityDomain

`account.getCommunityDomain`

Get the community domain name for the client

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.account.getCommunityDomain({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getCurrentEmailAtTimeOfReset

`account.getCurrentEmailAtTimeOfReset`

Get the current email at the time of a reset

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.account.getCurrentEmailAtTimeOfReset({});
```

**Input**

| Name   | Type     | Required | Description                |
| ------ | -------- | -------- | -------------------------- |
| `guid` | `string` | No       | GUID for the reset request |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getDMARCList

`account.getDMARCList`

Retrieve the DMARC list for the client account

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.account.getDMARCList({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getHelpTopics

`account.getHelpTopics`

Retrieve the list of help topics

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.account.getHelpTopics({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getLinkedAgencyAccountDetails

`account.getLinkedAgencyAccountDetails`

Get the details of a linked agency account

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.account.getLinkedAgencyAccountDetails({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getLinkedAgencyAccounts

`account.getLinkedAgencyAccounts`

Get the list of linked agency accounts

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.account.getLinkedAgencyAccounts({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getListOfConfirmedEmails

`account.getListOfConfirmedEmails`

Retrieve the list of confirmed email addresses

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.account.getListOfConfirmedEmails({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getNotification

`account.getNotification`

Get client notifications

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.account.getNotification({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getPartnerProfileDetails

`account.getPartnerProfileDetails`

Get partner profile details

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.account.getPartnerProfileDetails({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getReferralsLevel1List

`account.getReferralsLevel1List`

Get the level 1 referrals list

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.account.getReferralsLevel1List({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getReferralsList

`account.getReferralsList`

Retrieve the list of partner referrals

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.account.getReferralsList({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getSubAccountBalance

`account.getSubAccountBalance`

Get a sub-account balance

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.account.getSubAccountBalance({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getSubAccountDetails

`account.getSubAccountDetails`

Get sub-account details

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.account.getSubAccountDetails({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getSubAccountHistory

`account.getSubAccountHistory`

Get sub-account history

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.account.getSubAccountHistory({});
```

**Input**

| Name       | Type     | Required | Description                       |
| ---------- | -------- | -------- | --------------------------------- |
| `page`     | `number` | No       | Page number for paginated results |
| `pageSize` | `number` | No       | Number of results per page        |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getSubAccountHistoryDetails

`account.getSubAccountHistoryDetails`

Get sub-account history details

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.account.getSubAccountHistoryDetails({});
```

**Input**

| Name        | Type     | Required | Description |
| ----------- | -------- | -------- | ----------- |
| `historyID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getSubAccounts

`account.getSubAccounts`

Retrieve all sub-accounts

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.account.getSubAccounts({});
```

**Input**

| Name       | Type     | Required | Description                       |
| ---------- | -------- | -------- | --------------------------------- |
| `page`     | `number` | No       | Page number for paginated results |
| `pageSize` | `number` | No       | Number of results per page        |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getSubAccountsPlanList

`account.getSubAccountsPlanList`

Retrieve available plans for a sub-account

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.account.getSubAccountsPlanList({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getWebPageAdsDetail

`account.getWebPageAdsDetail`

Get web page ads details

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.account.getWebPageAdsDetail({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### linkAgencyAccount

`account.linkAgencyAccount`

Link an agency account

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.account.linkAgencyAccount({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### loginRedirectUsingToken

`account.loginRedirectUsingToken`

Generate a login redirect token

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.account.loginRedirectUsingToken({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### patchUpdateClientSettings

`account.patchUpdateClientSettings`

Update client account settings

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.account.patchUpdateClientSettings({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### resendConfirmEmail

`account.resendConfirmEmail`

Resend a confirm email

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.account.resendConfirmEmail({});
```

**Input**

| Name    | Type     | Required | Description |
| ------- | -------- | -------- | ----------- |
| `email` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### saveSecurityPIN

`account.saveSecurityPIN`

Save the security PIN

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.account.saveSecurityPIN({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### saveWebsiteDomain

`account.saveWebsiteDomain`

Save the website domain

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.account.saveWebsiteDomain({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### sendPINViaEmail

`account.sendPINViaEmail`

Send the security PIN via email

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.account.sendPINViaEmail({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### sendResetEmail

`account.sendResetEmail`

Send a reset email

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.account.sendResetEmail({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### sendSupportFeedback

`account.sendSupportFeedback`

Send support feedback

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.account.sendSupportFeedback({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### setResponsive

`account.setResponsive`

Set the responsive flag

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.account.setResponsive({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### shareListsWithSubAccounts

`account.shareListsWithSubAccounts`

Share contact lists with sub-accounts

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.account.shareListsWithSubAccounts({});
```

**Input**

| Name        | Type     | Required | Description                              |
| ----------- | -------- | -------- | ---------------------------------------- |
| `listID`    | `string` | Yes      | —                                        |
| `clientIDs` | `string` | Yes      | —                                        |
| `data`      | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name            | Type               | Required | Description |
| --------------- | ------------------ | -------- | ----------- |
| `listID`        | `string \| number` | No       | —           |
| `name`          | `string`           | No       | —           |
| `totalContacts` | `number`           | No       | —           |

***

### updateEditProfile

`account.updateEditProfile`

Update the client profile

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.account.updateEditProfile({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### updateLinkedAgencyAccount

`account.updateLinkedAgencyAccount`

Update a linked agency account

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.account.updateLinkedAgencyAccount({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `id`   | `string` | Yes      | —                                        |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### updatePartnerProfile

`account.updatePartnerProfile`

Update the partner profile

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.account.updatePartnerProfile({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### updateResetEmail

`account.updateResetEmail`

Update or reset the account email

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.account.updateResetEmail({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

## Archive

### addEmailToArchive

`archive.addEmailToArchive`

Add an email campaign to the archive page

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.archive.addEmailToArchive({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### deleteEmailFromArchive

`archive.deleteEmailFromArchive`

Delete an email from the archive

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.archive.deleteEmailFromArchive({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getArchiveDomainName

`archive.getArchiveDomainName`

Get the archive domain name for the client

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.archive.getArchiveDomainName({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getArchiveEmailDetails

`archive.getArchiveEmailDetails`

Get the details of an archived email

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.archive.getArchiveEmailDetails({});
```

**Input**

| Name        | Type     | Required | Description |
| ----------- | -------- | -------- | ----------- |
| `archiveID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getArchiveEmails

`archive.getArchiveEmails`

Retrieve a list of emails from the archive

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.archive.getArchiveEmails({});
```

**Input**

| Name       | Type     | Required | Description                       |
| ---------- | -------- | -------- | --------------------------------- |
| `page`     | `number` | No       | Page number for paginated results |
| `pageSize` | `number` | No       | Number of results per page        |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getArchiveHomeData

`archive.getArchiveHomeData`

Get archive home data for a domain and type

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.archive.getArchiveHomeData({});
```

**Input**

| Name     | Type     | Required | Description |
| -------- | -------- | -------- | ----------- |
| `domain` | `string` | Yes      | —           |
| `type`   | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getArchiveHomePage

`archive.getArchiveHomePage`

Get the archive home page

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.archive.getArchiveHomePage({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getArchivePages

`archive.getArchivePages`

Retrieve the list of archive pages

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.archive.getArchivePages({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getDetailsAboutArchivePage

`archive.getDetailsAboutArchivePage`

Get details about the archive page

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.archive.getDetailsAboutArchivePage({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getHTMLForArchiveNewsletter

`archive.getHTMLForArchiveNewsletter`

Get HTML content for an archive newsletter

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.archive.getHTMLForArchiveNewsletter({});
```

**Input**

| Name     | Type     | Required | Description                              |
| -------- | -------- | -------- | ---------------------------------------- |
| `domain` | `string` | Yes      | —                                        |
| `data`   | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getHTMLForButton

`archive.getHTMLForButton`

Get HTML content for an archive button

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.archive.getHTMLForButton({});
```

**Input**

| Name   | Type     | Required | Description |
| ------ | -------- | -------- | ----------- |
| `mode` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getImageForButton

`archive.getImageForButton`

Get the image archive button HTML

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.archive.getImageForButton({});
```

**Input**

| Name   | Type     | Required | Description |
| ------ | -------- | -------- | ----------- |
| `mode` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### updateArchiveHomePage

`archive.updateArchiveHomePage`

Update the archive home page

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.archive.updateArchiveHomePage({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### updateArchiveHomePageData

`archive.updateArchiveHomePageData`

Update archive home page data

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.archive.updateArchiveHomePageData({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

## Automations

### addEmailInAutomation

`automations.addEmailInAutomation`

Add an email to an automation workflow

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.automations.addEmailInAutomation({});
```

**Input**

| Name           | Type     | Required | Description                              |
| -------------- | -------- | -------- | ---------------------------------------- |
| `automationID` | `string` | Yes      | —                                        |
| `data`         | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### copyEmailInAutomation

`automations.copyEmailInAutomation`

Create a copy of an automation email

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.automations.copyEmailInAutomation({});
```

**Input**

| Name                 | Type     | Required | Description                              |
| -------------------- | -------- | -------- | ---------------------------------------- |
| `automationID`       | `string` | Yes      | —                                        |
| `automationDetailID` | `string` | Yes      | —                                        |
| `data`               | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### createAutomationCopy

`automations.createAutomationCopy`

Create a copy of an existing automation

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.automations.createAutomationCopy({});
```

**Input**

| Name           | Type     | Required | Description                              |
| -------------- | -------- | -------- | ---------------------------------------- |
| `automationID` | `string` | Yes      | —                                        |
| `data`         | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### deleteAutomation

`automations.deleteAutomation`

Delete an automation

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.automations.deleteAutomation({});
```

**Input**

| Name           | Type     | Required | Description |
| -------------- | -------- | -------- | ----------- |
| `automationID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### deleteAutomationEmail

`automations.deleteAutomationEmail`

Delete an automation email from a workflow

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.automations.deleteAutomationEmail({});
```

**Input**

| Name                 | Type     | Required | Description |
| -------------------- | -------- | -------- | ----------- |
| `automationID`       | `string` | Yes      | —           |
| `automationDetailID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getAutomationDetails

`automations.getAutomationDetails`

Get the details of an automation

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.automations.getAutomationDetails({});
```

**Input**

| Name           | Type     | Required | Description |
| -------------- | -------- | -------- | ----------- |
| `automationID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getAutomationEmailDetails

`automations.getAutomationEmailDetails`

Get details for an automation email

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.automations.getAutomationEmailDetails({});
```

**Input**

| Name                 | Type     | Required | Description |
| -------------------- | -------- | -------- | ----------- |
| `automationID`       | `string` | Yes      | —           |
| `automationDetailID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getAutomationSummaryReport

`automations.getAutomationSummaryReport`

Get the summary report of an automation

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.automations.getAutomationSummaryReport({});
```

**Input**

| Name           | Type     | Required | Description |
| -------------- | -------- | -------- | ----------- |
| `automationID` | `string` | Yes      | —           |

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### updateEmailContentForAutomation

`automations.updateEmailContentForAutomation`

Update email content for an automation

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.automations.updateEmailContentForAutomation({});
```

**Input**

| Name                 | Type     | Required | Description                              |
| -------------------- | -------- | -------- | ---------------------------------------- |
| `automationID`       | `string` | Yes      | —                                        |
| `automationDetailID` | `string` | Yes      | —                                        |
| `data`               | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

## Contacts

### addContactToList

`contacts.addContactToList`

Add a new contact to a specific contact list

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.addContactToList({});
```

**Input**

| Name     | Type     | Required | Description                              |
| -------- | -------- | -------- | ---------------------------------------- |
| `listID` | `string` | Yes      | —                                        |
| `data`   | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name        | Type               | Required | Description |
| ----------- | ------------------ | -------- | ----------- |
| `email`     | `string`           | No       | —           |
| `contactID` | `string \| number` | No       | —           |
| `firstName` | `string`           | No       | —           |
| `lastName`  | `string`           | No       | —           |

***

### cleanContactList

`contacts.cleanContactList`

Clean a contact list by removing invalid or bounced addresses

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.cleanContactList({});
```

**Input**

| Name     | Type     | Required | Description                              |
| -------- | -------- | -------- | ---------------------------------------- |
| `listID` | `string` | Yes      | —                                        |
| `data`   | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### compareContacts

`contacts.compareContacts`

Compare contacts across multiple contact lists

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.compareContacts({});
```

**Input**

| Name       | Type     | Required | Description                       |
| ---------- | -------- | -------- | --------------------------------- |
| `listIDs`  | `string` | Yes      | —                                 |
| `page`     | `number` | No       | Page number for paginated results |
| `pageSize` | `number` | No       | Number of results per page        |

**Output**

| Name        | Type               | Required | Description |
| ----------- | ------------------ | -------- | ----------- |
| `email`     | `string`           | No       | —           |
| `contactID` | `string \| number` | No       | —           |
| `firstName` | `string`           | No       | —           |
| `lastName`  | `string`           | No       | —           |

***

### copyBulkContacts

`contacts.copyBulkContacts`

Copy multiple contacts in bulk to target lists

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.copyBulkContacts({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name        | Type               | Required | Description |
| ----------- | ------------------ | -------- | ----------- |
| `email`     | `string`           | No       | —           |
| `contactID` | `string \| number` | No       | —           |
| `firstName` | `string`           | No       | —           |
| `lastName`  | `string`           | No       | —           |

***

### copyContact

`contacts.copyContact`

Copy a contact to a specific list

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.copyContact({});
```

**Input**

| Name        | Type     | Required | Description                              |
| ----------- | -------- | -------- | ---------------------------------------- |
| `listID`    | `string` | Yes      | —                                        |
| `contactID` | `string` | Yes      | —                                        |
| `data`      | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name        | Type               | Required | Description |
| ----------- | ------------------ | -------- | ----------- |
| `email`     | `string`           | No       | —           |
| `contactID` | `string \| number` | No       | —           |
| `firstName` | `string`           | No       | —           |
| `lastName`  | `string`           | No       | —           |

***

### createSegmentCriteria

`contacts.createSegmentCriteria`

Create criteria for a contact segment

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.createSegmentCriteria({});
```

**Input**

| Name        | Type     | Required | Description                              |
| ----------- | -------- | -------- | ---------------------------------------- |
| `segmentID` | `string` | Yes      | —                                        |
| `data`      | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### createSegmentFromContactIDs

`contacts.createSegmentFromContactIDs`

Create a segment from a list of contact IDs

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.createSegmentFromContactIDs({});
```

**Input**

| Name     | Type     | Required | Description                              |
| -------- | -------- | -------- | ---------------------------------------- |
| `listID` | `string` | Yes      | —                                        |
| `data`   | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name            | Type               | Required | Description |
| --------------- | ------------------ | -------- | ----------- |
| `listID`        | `string \| number` | No       | —           |
| `name`          | `string`           | No       | —           |
| `totalContacts` | `number`           | No       | —           |

***

### deleteContactFromAllListsByID

`contacts.deleteContactFromAllListsByID`

Delete a specific contact from all lists

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.deleteContactFromAllListsByID({});
```

**Input**

| Name        | Type     | Required | Description                              |
| ----------- | -------- | -------- | ---------------------------------------- |
| `listID`    | `string` | Yes      | —                                        |
| `contactID` | `string` | Yes      | —                                        |
| `data`      | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### deleteContactFromList

`contacts.deleteContactFromList`

Delete a contact from a specific list

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.deleteContactFromList({});
```

**Input**

| Name        | Type     | Required | Description |
| ----------- | -------- | -------- | ----------- |
| `listID`    | `string` | Yes      | —           |
| `contactID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### deleteContactFromSearch

`contacts.deleteContactFromSearch`

Delete a contact from the search contact page

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.deleteContactFromSearch({});
```

**Input**

| Name        | Type     | Required | Description |
| ----------- | -------- | -------- | ----------- |
| `contactID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### deleteContactsFromAllLists

`contacts.deleteContactsFromAllLists`

Delete selected contacts from all lists

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.deleteContactsFromAllLists({});
```

**Input**

| Name     | Type     | Required | Description                              |
| -------- | -------- | -------- | ---------------------------------------- |
| `search` | `string` | No       | Search string to filter results          |
| `data`   | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### deleteContactsFromCurrentLists

`contacts.deleteContactsFromCurrentLists`

Delete selected contacts from current lists

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.deleteContactsFromCurrentLists({});
```

**Input**

| Name     | Type     | Required | Description                              |
| -------- | -------- | -------- | ---------------------------------------- |
| `search` | `string` | No       | Search string to filter results          |
| `data`   | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### deleteSegment

`contacts.deleteSegment`

Delete a contact segment

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.deleteSegment({});
```

**Input**

| Name        | Type     | Required | Description |
| ----------- | -------- | -------- | ----------- |
| `segmentID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### deleteSegmentCriteria

`contacts.deleteSegmentCriteria`

Delete criteria from a segment

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.deleteSegmentCriteria({});
```

**Input**

| Name        | Type     | Required | Description |
| ----------- | -------- | -------- | ----------- |
| `segmentID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### deleteTrashList

`contacts.deleteTrashList`

Delete all trash contacts from a list

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.deleteTrashList({});
```

**Input**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `listIDs` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getActiveContactCount

`contacts.getActiveContactCount`

Get the total count of all active contacts

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.getActiveContactCount({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getCleanCount

`contacts.getCleanCount`

Get the clean count for a contact list

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.getCleanCount({});
```

**Input**

| Name     | Type     | Required | Description |
| -------- | -------- | -------- | ----------- |
| `listID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getContactAuditHistory

`contacts.getContactAuditHistory`

Retrieve audit history for contacts in a list

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.getContactAuditHistory({});
```

**Input**

| Name       | Type     | Required | Description                       |
| ---------- | -------- | -------- | --------------------------------- |
| `listID`   | `string` | Yes      | —                                 |
| `page`     | `number` | No       | Page number for paginated results |
| `pageSize` | `number` | No       | Number of results per page        |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getContactAuditHistoryDetail

`contacts.getContactAuditHistoryDetail`

Get detailed audit history for a batch and group of contact changes

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.getContactAuditHistoryDetail({});
```

**Input**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `listID`  | `string` | Yes      | —           |
| `batchID` | `string` | Yes      | —           |
| `groupID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getContactDetails

`contacts.getContactDetails`

Retrieve detailed information for a specific contact

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.getContactDetails({});
```

**Input**

| Name        | Type     | Required | Description |
| ----------- | -------- | -------- | ----------- |
| `listID`    | `string` | Yes      | —           |
| `contactID` | `string` | Yes      | —           |

**Output**

| Name        | Type               | Required | Description |
| ----------- | ------------------ | -------- | ----------- |
| `email`     | `string`           | No       | —           |
| `contactID` | `string \| number` | No       | —           |
| `firstName` | `string`           | No       | —           |
| `lastName`  | `string`           | No       | —           |

***

### getContactImportStatus

`contacts.getContactImportStatus`

Get the status of contact import operations

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.getContactImportStatus({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getContactMergeList

`contacts.getContactMergeList`

Retrieve contact lists that can be merged with a list

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.getContactMergeList({});
```

**Input**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `listIDs` | `string` | Yes      | —           |

**Output**

| Name            | Type               | Required | Description |
| --------------- | ------------------ | -------- | ----------- |
| `listID`        | `string \| number` | No       | —           |
| `name`          | `string`           | No       | —           |
| `totalContacts` | `number`           | No       | —           |

***

### getContactsCount

`contacts.getContactsCount`

Get the count of contacts in specified lists and segments

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.getContactsCount({});
```

**Input**

| Name         | Type     | Required | Description |
| ------------ | -------- | -------- | ----------- |
| `listIDs`    | `string` | Yes      | —           |
| `segmentIDs` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getDownloadSegmentData

`contacts.getDownloadSegmentData`

Download segment data

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.getDownloadSegmentData({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getFilteredContacts

`contacts.getFilteredContacts`

Fetch filtered and paginated contacts from a list

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.getFilteredContacts({});
```

**Input**

| Name       | Type     | Required | Description                       |
| ---------- | -------- | -------- | --------------------------------- |
| `listID`   | `string` | Yes      | —                                 |
| `page`     | `number` | No       | Page number for paginated results |
| `pageSize` | `number` | No       | Number of results per page        |
| `search`   | `string` | No       | Search string to filter results   |
| `filter`   | `string` | No       | Filter expression                 |

**Output**

| Name        | Type               | Required | Description |
| ----------- | ------------------ | -------- | ----------- |
| `email`     | `string`           | No       | —           |
| `contactID` | `string \| number` | No       | —           |
| `firstName` | `string`           | No       | —           |
| `lastName`  | `string`           | No       | —           |

***

### getFilteredContactsWithExtraFields

`contacts.getFilteredContactsWithExtraFields`

Fetch filtered contacts with custom and extra fields

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.getFilteredContactsWithExtraFields({});
```

**Input**

| Name       | Type     | Required | Description                       |
| ---------- | -------- | -------- | --------------------------------- |
| `listID`   | `string` | Yes      | —                                 |
| `page`     | `number` | No       | Page number for paginated results |
| `pageSize` | `number` | No       | Number of results per page        |
| `search`   | `string` | No       | Search string to filter results   |

**Output**

| Name        | Type               | Required | Description |
| ----------- | ------------------ | -------- | ----------- |
| `email`     | `string`           | No       | —           |
| `contactID` | `string \| number` | No       | —           |
| `firstName` | `string`           | No       | —           |
| `lastName`  | `string`           | No       | —           |

***

### getNonContactCount

`contacts.getNonContactCount`

Get the count of non-contacts for campaigns

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.getNonContactCount({});
```

**Input**

| Name     | Type     | Required | Description       |
| -------- | -------- | -------- | ----------------- |
| `filter` | `string` | No       | Filter expression |

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getSegmentAutoGenerateName

`contacts.getSegmentAutoGenerateName`

Get an auto-generated segment name for a list

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.getSegmentAutoGenerateName({});
```

**Input**

| Name     | Type     | Required | Description |
| -------- | -------- | -------- | ----------- |
| `listID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getSegmentByID

`contacts.getSegmentByID`

Retrieve a contact segment by ID

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.getSegmentByID({});
```

**Input**

| Name        | Type     | Required | Description |
| ----------- | -------- | -------- | ----------- |
| `segmentID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getSegmentDetails

`contacts.getSegmentDetails`

Retrieve contact details from a segment

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.getSegmentDetails({});
```

**Input**

| Name        | Type     | Required | Description                       |
| ----------- | -------- | -------- | --------------------------------- |
| `segmentID` | `string` | Yes      | —                                 |
| `page`      | `number` | No       | Page number for paginated results |
| `pageSize`  | `number` | No       | Number of results per page        |
| `search`    | `string` | No       | Search string to filter results   |
| `sort`      | `string` | No       | Sorting parameter                 |

**Output**

| Name        | Type               | Required | Description |
| ----------- | ------------------ | -------- | ----------- |
| `email`     | `string`           | No       | —           |
| `contactID` | `string \| number` | No       | —           |
| `firstName` | `string`           | No       | —           |
| `lastName`  | `string`           | No       | —           |

***

### getSegmentList

`contacts.getSegmentList`

Retrieve segment lists for a contact list

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.getSegmentList({});
```

**Input**

| Name       | Type     | Required | Description                       |
| ---------- | -------- | -------- | --------------------------------- |
| `listID`   | `string` | Yes      | —                                 |
| `page`     | `number` | No       | Page number for paginated results |
| `pageSize` | `number` | No       | Number of results per page        |

**Output**

| Name            | Type               | Required | Description |
| --------------- | ------------------ | -------- | ----------- |
| `listID`        | `string \| number` | No       | —           |
| `name`          | `string`           | No       | —           |
| `totalContacts` | `number`           | No       | —           |

***

### getSegments

`contacts.getSegments`

Retrieve a paginated list of contact segments

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.getSegments({});
```

**Input**

| Name       | Type     | Required | Description                       |
| ---------- | -------- | -------- | --------------------------------- |
| `page`     | `number` | No       | Page number for paginated results |
| `pageSize` | `number` | No       | Number of results per page        |
| `search`   | `string` | No       | Search string to filter results   |
| `sort`     | `string` | No       | Sorting parameter                 |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getTrashCount

`contacts.getTrashCount`

Get the count of contacts in the trash

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.getTrashCount({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getUniqueContactCount

`contacts.getUniqueContactCount`

Get the unique contact count

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.getUniqueContactCount({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### mergeContactsIntoExistingList

`contacts.mergeContactsIntoExistingList`

Merge contacts into an existing list

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.mergeContactsIntoExistingList({});
```

**Input**

| Name      | Type     | Required | Description                              |
| --------- | -------- | -------- | ---------------------------------------- |
| `listIDs` | `string` | Yes      | —                                        |
| `data`    | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name            | Type               | Required | Description |
| --------------- | ------------------ | -------- | ----------- |
| `listID`        | `string \| number` | No       | —           |
| `name`          | `string`           | No       | —           |
| `totalContacts` | `number`           | No       | —           |

***

### mergeContactsIntoNewList

`contacts.mergeContactsIntoNewList`

Merge contacts into a new list

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.mergeContactsIntoNewList({});
```

**Input**

| Name      | Type     | Required | Description                              |
| --------- | -------- | -------- | ---------------------------------------- |
| `listIDs` | `string` | Yes      | —                                        |
| `data`    | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name            | Type               | Required | Description |
| --------------- | ------------------ | -------- | ----------- |
| `listID`        | `string \| number` | No       | —           |
| `name`          | `string`           | No       | —           |
| `totalContacts` | `number`           | No       | —           |

***

### moveBulkContacts

`contacts.moveBulkContacts`

Move multiple contacts in bulk

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.moveBulkContacts({});
```

**Input**

| Name     | Type     | Required | Description                              |
| -------- | -------- | -------- | ---------------------------------------- |
| `listID` | `string` | Yes      | —                                        |
| `data`   | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name        | Type               | Required | Description |
| ----------- | ------------------ | -------- | ----------- |
| `email`     | `string`           | No       | —           |
| `contactID` | `string \| number` | No       | —           |
| `firstName` | `string`           | No       | —           |
| `lastName`  | `string`           | No       | —           |

***

### moveContacts

`contacts.moveContacts`

Move contacts to a target list

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.moveContacts({});
```

**Input**

| Name           | Type     | Required | Description                              |
| -------------- | -------- | -------- | ---------------------------------------- |
| `listID`       | `string` | Yes      | —                                        |
| `targetListID` | `string` | Yes      | —                                        |
| `contactIDs`   | `string` | Yes      | —                                        |
| `data`         | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name        | Type               | Required | Description |
| ----------- | ------------------ | -------- | ----------- |
| `email`     | `string`           | No       | —           |
| `contactID` | `string \| number` | No       | —           |
| `firstName` | `string`           | No       | —           |
| `lastName`  | `string`           | No       | —           |

***

### moveContactToDoNotContactList

`contacts.moveContactToDoNotContactList`

Move a contact to the do-not-contact list

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.moveContactToDoNotContactList({});
```

**Input**

| Name        | Type     | Required | Description |
| ----------- | -------- | -------- | ----------- |
| `listID`    | `string` | Yes      | —           |
| `contactID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### resendEmails

`contacts.resendEmails`

Resend emails to contacts in a list

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.resendEmails({});
```

**Input**

| Name     | Type     | Required | Description                              |
| -------- | -------- | -------- | ---------------------------------------- |
| `listID` | `string` | Yes      | —                                        |
| `data`   | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### saveEmailAddress

`contacts.saveEmailAddress`

Save an email address to a contact list

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.saveEmailAddress({});
```

**Input**

| Name     | Type     | Required | Description                              |
| -------- | -------- | -------- | ---------------------------------------- |
| `listID` | `string` | Yes      | —                                        |
| `data`   | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name        | Type               | Required | Description |
| ----------- | ------------------ | -------- | ----------- |
| `email`     | `string`           | No       | —           |
| `contactID` | `string \| number` | No       | —           |
| `firstName` | `string`           | No       | —           |
| `lastName`  | `string`           | No       | —           |

***

### saveVerifiedEmailAddresses

`contacts.saveVerifiedEmailAddresses`

Save verified email addresses to a contact list

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.saveVerifiedEmailAddresses({});
```

**Input**

| Name     | Type     | Required | Description                              |
| -------- | -------- | -------- | ---------------------------------------- |
| `listID` | `string` | Yes      | —                                        |
| `data`   | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name        | Type               | Required | Description |
| ----------- | ------------------ | -------- | ----------- |
| `email`     | `string`           | No       | —           |
| `contactID` | `string \| number` | No       | —           |
| `firstName` | `string`           | No       | —           |
| `lastName`  | `string`           | No       | —           |

***

### searchContactDetailsByEmail

`contacts.searchContactDetailsByEmail`

Search contact details by email

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.searchContactDetailsByEmail({});
```

**Input**

| Name       | Type     | Required | Description                       |
| ---------- | -------- | -------- | --------------------------------- |
| `search`   | `string` | No       | Search string to filter results   |
| `page`     | `number` | No       | Page number for paginated results |
| `pageSize` | `number` | No       | Number of results per page        |

**Output**

| Name        | Type               | Required | Description |
| ----------- | ------------------ | -------- | ----------- |
| `email`     | `string`           | No       | —           |
| `contactID` | `string \| number` | No       | —           |
| `firstName` | `string`           | No       | —           |
| `lastName`  | `string`           | No       | —           |

***

### sendConfirmEmailVerification

`contacts.sendConfirmEmailVerification`

Send a confirm-email verification message

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.sendConfirmEmailVerification({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### updateContactDetails

`contacts.updateContactDetails`

Update the details of a contact

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.updateContactDetails({});
```

**Input**

| Name        | Type     | Required | Description                              |
| ----------- | -------- | -------- | ---------------------------------------- |
| `listID`    | `string` | Yes      | —                                        |
| `contactID` | `string` | Yes      | —                                        |
| `data`      | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name        | Type               | Required | Description |
| ----------- | ------------------ | -------- | ----------- |
| `email`     | `string`           | No       | —           |
| `contactID` | `string \| number` | No       | —           |
| `firstName` | `string`           | No       | —           |
| `lastName`  | `string`           | No       | —           |

***

### updateSegment

`contacts.updateSegment`

Update a contact segment

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.contacts.updateSegment({});
```

**Input**

| Name        | Type     | Required | Description                              |
| ----------- | -------- | -------- | ---------------------------------------- |
| `segmentID` | `string` | Yes      | —                                        |
| `data`      | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

## Emails

### addEmailToCommunity

`emails.addEmailToCommunity`

Add an email campaign to the public community

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.emails.addEmailToCommunity({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `id`   | `string` | Yes      | —                                        |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### addOrUpdateScheme

`emails.addOrUpdateScheme`

Add or update a color scheme

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.emails.addOrUpdateScheme({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### copyExistingEmail

`emails.copyExistingEmail`

Copy an existing email campaign

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.emails.copyExistingEmail({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `id`   | `string` | Yes      | —                                        |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `id`      | `string \| number` | No       | —           |
| `name`    | `string`           | No       | —           |
| `subject` | `string`           | No       | —           |
| `status`  | `string`           | No       | —           |

***

### deleteABSplitCampaign

`emails.deleteABSplitCampaign`

Delete an ABSplit campaign configuration from an email

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.emails.deleteABSplitCampaign({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### deleteABTestEmail

`emails.deleteABTestEmail`

Move an AB test email to trash

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.emails.deleteABTestEmail({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### deleteEmailCampaign

`emails.deleteEmailCampaign`

Delete an email campaign

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.emails.deleteEmailCampaign({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getABSplitDetails

`emails.getABSplitDetails`

Get AB split test details for an email campaign

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.emails.getABSplitDetails({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getABSplitResults

`emails.getABSplitResults`

Get the results of an AB split test

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.emails.getABSplitResults({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getABTests

`emails.getABTests`

Retrieve a list of AB tests

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.emails.getABTests({});
```

**Input**

| Name       | Type     | Required | Description                       |
| ---------- | -------- | -------- | --------------------------------- |
| `page`     | `number` | No       | Page number for paginated results |
| `pageSize` | `number` | No       | Number of results per page        |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getBadgesList

`emails.getBadgesList`

Retrieve all available email badges

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.emails.getBadgesList({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getCommunityCategory

`emails.getCommunityCategory`

List available community categories

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.emails.getCommunityCategory({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getCommunityEmailByID

`emails.getCommunityEmailByID`

Get a community email by ID

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.emails.getCommunityEmailByID({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `id`      | `string \| number` | No       | —           |
| `name`    | `string`           | No       | —           |
| `subject` | `string`           | No       | —           |
| `status`  | `string`           | No       | —           |

***

### getEmailDetails

`emails.getEmailDetails`

Get the details of an email campaign

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.emails.getEmailDetails({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `id`      | `string \| number` | No       | —           |
| `name`    | `string`           | No       | —           |
| `subject` | `string`           | No       | —           |
| `status`  | `string`           | No       | —           |

***

### getEmailPreview

`emails.getEmailPreview`

Get the preview of an email campaign

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.emails.getEmailPreview({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `id`      | `string \| number` | No       | —           |
| `name`    | `string`           | No       | —           |
| `subject` | `string`           | No       | —           |
| `status`  | `string`           | No       | —           |

***

### getEmailRecipientCount

`emails.getEmailRecipientCount`

Get the recipient count for an email campaign

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.emails.getEmailRecipientCount({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getEmails

`emails.getEmails`

Retrieve all email campaigns

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.emails.getEmails({});
```

**Input**

| Name       | Type     | Required | Description                       |
| ---------- | -------- | -------- | --------------------------------- |
| `page`     | `number` | No       | Page number for paginated results |
| `pageSize` | `number` | No       | Number of results per page        |
| `criteria` | `string` | No       | Filter string for search results  |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `id`      | `string \| number` | No       | —           |
| `name`    | `string`           | No       | —           |
| `subject` | `string`           | No       | —           |
| `status`  | `string`           | No       | —           |

***

### getEmailSpamCheck

`emails.getEmailSpamCheck`

Check the spam score for an email campaign

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.emails.getEmailSpamCheck({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getEmailTemplates

`emails.getEmailTemplates`

Retrieve email templates

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.emails.getEmailTemplates({});
```

**Input**

| Name       | Type     | Required | Description                       |
| ---------- | -------- | -------- | --------------------------------- |
| `page`     | `number` | No       | Page number for paginated results |
| `pageSize` | `number` | No       | Number of results per page        |
| `criteria` | `string` | No       | Filter string for search results  |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getLayoutList

`emails.getLayoutList`

Get the email layout list

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.emails.getLayoutList({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getRSSHistoryByEmailID

`emails.getRSSHistoryByEmailID`

Get RSS history for an email campaign

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.emails.getRSSHistoryByEmailID({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getScheme

`emails.getScheme`

Retrieve color schemes for email templates

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.emails.getScheme({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getTemplateByID

`emails.getTemplateByID`

Get an email template by ID

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.emails.getTemplateByID({});
```

**Input**

| Name         | Type     | Required | Description |
| ------------ | -------- | -------- | ----------- |
| `templateID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getTemplateCategoryByID

`emails.getTemplateCategoryByID`

Get a template category by ID

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.emails.getTemplateCategoryByID({});
```

**Input**

| Name         | Type     | Required | Description |
| ------------ | -------- | -------- | ----------- |
| `categoryID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getTemplateCategoryList

`emails.getTemplateCategoryList`

Retrieve the template category list

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.emails.getTemplateCategoryList({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### initiateEmailScreenCapture

`emails.initiateEmailScreenCapture`

Initiate an email screen capture process

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.emails.initiateEmailScreenCapture({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `id`   | `string` | Yes      | —                                        |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### permanentlyDeleteEmailFromTrash

`emails.permanentlyDeleteEmailFromTrash`

Permanently delete an email from trash

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.emails.permanentlyDeleteEmailFromTrash({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### restoreEmailFromTrash

`emails.restoreEmailFromTrash`

Restore an email from trash

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.emails.restoreEmailFromTrash({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `id`   | `string` | Yes      | —                                        |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### scheduleEmailCampaign

`emails.scheduleEmailCampaign`

Schedule an email campaign

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.emails.scheduleEmailCampaign({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `id`   | `string` | Yes      | —                                        |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### shareTemplateToSubAccounts

`emails.shareTemplateToSubAccounts`

Share an email template with sub-accounts

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.emails.shareTemplateToSubAccounts({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `id`   | `string` | Yes      | —                                        |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### updateEmailCampaign

`emails.updateEmailCampaign`

Update an email campaign

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.emails.updateEmailCampaign({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `id`   | `string` | Yes      | —                                        |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `id`      | `string \| number` | No       | —           |
| `name`    | `string`           | No       | —           |
| `subject` | `string`           | No       | —           |
| `status`  | `string`           | No       | —           |

***

## Integrations

### assignProductToList

`integrations.assignProductToList`

Assign a Shopify product to a list

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.assignProductToList({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### configureShopifyPurchaseList

`integrations.configureShopifyPurchaseList`

Configure the Shopify purchase list

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.configureShopifyPurchaseList({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### connectService

`integrations.connectService`

Connect a third-party service via OAuth URL

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.connectService({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `site` | `string` | Yes      | —                                        |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### deleteProductAssociation

`integrations.deleteProductAssociation`

Delete a Shopify product association

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.deleteProductAssociation({});
```

**Input**

| Name          | Type     | Required | Description |
| ------------- | -------- | -------- | ----------- |
| `productCode` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### disconnectEbayIntegration

`integrations.disconnectEbayIntegration`

Disconnect the eBay integration

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.disconnectEbayIntegration({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### disconnectEtsyIntegration

`integrations.disconnectEtsyIntegration`

Disconnect the Etsy integration

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.disconnectEtsyIntegration({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### disconnectEventbriteIntegration

`integrations.disconnectEventbriteIntegration`

Disconnect the Eventbrite integration

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.disconnectEventbriteIntegration({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### disconnectFacebookEvents

`integrations.disconnectFacebookEvents`

Disconnect the Facebook Events integration

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.disconnectFacebookEvents({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### disconnectFacebookIntegration

`integrations.disconnectFacebookIntegration`

Disconnect the Facebook integration

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.disconnectFacebookIntegration({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### disconnectInstagramIntegration

`integrations.disconnectInstagramIntegration`

Disconnect the Instagram integration

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.disconnectInstagramIntegration({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### disconnectLinkedInIntegration

`integrations.disconnectLinkedInIntegration`

Disconnect the LinkedIn integration

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.disconnectLinkedInIntegration({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### disconnectPinterestConnection

`integrations.disconnectPinterestConnection`

Disconnect the Pinterest integration

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.disconnectPinterestConnection({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### disconnectSalesforceIntegration

`integrations.disconnectSalesforceIntegration`

Disconnect the Salesforce integration

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.disconnectSalesforceIntegration({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### disconnectShopify

`integrations.disconnectShopify`

Disconnect the Shopify integration

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.disconnectShopify({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### disconnectTwitterIntegration

`integrations.disconnectTwitterIntegration`

Disconnect the Twitter integration

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.disconnectTwitterIntegration({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getContactListsForShopify

`integrations.getContactListsForShopify`

Get Shopify integration contact lists

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.getContactListsForShopify({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getDigiohUsername

`integrations.getDigiohUsername`

Get the Digioh username

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.getDigiohUsername({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getEbaySellerID

`integrations.getEbaySellerID`

Get the eBay seller ID

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.getEbaySellerID({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getEbaySiteList

`integrations.getEbaySiteList`

Get the eBay site list

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.getEbaySiteList({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getEtsyStoreName

`integrations.getEtsyStoreName`

Get the connected Etsy store name

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.getEtsyStoreName({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getEventbriteUsername

`integrations.getEventbriteUsername`

Get the Eventbrite username

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.getEventbriteUsername({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getFacebookAccountHolder

`integrations.getFacebookAccountHolder`

Get the Facebook account holder

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.getFacebookAccountHolder({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getFacebookAccountName

`integrations.getFacebookAccountName`

Get the Facebook account name

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.getFacebookAccountName({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getIntegrationAuthURL

`integrations.getIntegrationAuthURL`

Get the OAuth authorization URL for a service

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.getIntegrationAuthURL({});
```

**Input**

| Name   | Type     | Required | Description |
| ------ | -------- | -------- | ----------- |
| `site` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getIntegrationConnectionList

`integrations.getIntegrationConnectionList`

Get the editor integration connection list

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.getIntegrationConnectionList({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getLinkedInToken

`integrations.getLinkedInToken`

Get LinkedIn integration token information

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.getLinkedInToken({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getPaypalLink

`integrations.getPaypalLink`

Get the PayPal integration link for a list

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.getPaypalLink({});
```

**Input**

| Name              | Type     | Required | Description |
| ----------------- | -------- | -------- | ----------- |
| `contactMasterID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getPaypalLists

`integrations.getPaypalLists`

Get contact lists formatted for PayPal

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.getPaypalLists({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getPinterestUsername

`integrations.getPinterestUsername`

Get the Pinterest username

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.getPinterestUsername({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getSalesforceStatus

`integrations.getSalesforceStatus`

Get the Salesforce integration status

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.getSalesforceStatus({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getShopifyProductGrid

`integrations.getShopifyProductGrid`

Get the Shopify product list in tabular format

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.getShopifyProductGrid({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getShopifyProducts

`integrations.getShopifyProducts`

Get the list of Shopify products

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.getShopifyProducts({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getTwitterLogin

`integrations.getTwitterLogin`

Get the Twitter login status

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.getTwitterLogin({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getUnbounceLink

`integrations.getUnbounceLink`

Get the Unbounce integration URL for a list

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.getUnbounceLink({});
```

**Input**

| Name              | Type     | Required | Description |
| ----------------- | -------- | -------- | ----------- |
| `contactMasterID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getUnbounceLists

`integrations.getUnbounceLists`

Get Unbounce contact lists

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.getUnbounceLists({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### logOutTwitterTweets

`integrations.logOutTwitterTweets`

Log out of Twitter Tweets

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.logOutTwitterTweets({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### testEbayIntegration

`integrations.testEbayIntegration`

Test the eBay integration

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.testEbayIntegration({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### testEtsyIntegration

`integrations.testEtsyIntegration`

Test the Etsy integration

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.testEtsyIntegration({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### testEventbriteIntegration

`integrations.testEventbriteIntegration`

Test the Eventbrite integration

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.testEventbriteIntegration({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### testFacebookEventsIntegration

`integrations.testFacebookEventsIntegration`

Test the Facebook Events integration

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.testFacebookEventsIntegration({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### testFacebookIntegration

`integrations.testFacebookIntegration`

Test the Facebook integration

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.testFacebookIntegration({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### testLinkedInConnection

`integrations.testLinkedInConnection`

Test the LinkedIn connection

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.testLinkedInConnection({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### testPinterestIntegration

`integrations.testPinterestIntegration`

Test the Pinterest integration

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.testPinterestIntegration({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### testSalesforceIntegration

`integrations.testSalesforceIntegration`

Test the Salesforce integration

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.testSalesforceIntegration({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### testTwitterIntegration

`integrations.testTwitterIntegration`

Test the Twitter integration

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.testTwitterIntegration({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### testTwitterTweets

`integrations.testTwitterTweets`

Test Twitter Tweets

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.integrations.testTwitterTweets({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

## Lists

### createContactList

`lists.createContactList`

Create a new contact list

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.lists.createContactList({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name            | Type               | Required | Description |
| --------------- | ------------------ | -------- | ----------- |
| `listID`        | `string \| number` | No       | —           |
| `name`          | `string`           | No       | —           |
| `totalContacts` | `number`           | No       | —           |

***

### deleteContactList

`lists.deleteContactList`

Delete a contact list

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.lists.deleteContactList({});
```

**Input**

| Name     | Type     | Required | Description |
| -------- | -------- | -------- | ----------- |
| `listID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### deleteList

`lists.deleteList`

Delete one or more contact lists

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.lists.deleteList({});
```

**Input**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `listIDs` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getContactListDeepView

`lists.getContactListDeepView`

Fetch a deep view of contact lists

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.lists.getContactListDeepView({});
```

**Input**

| Name       | Type     | Required | Description                       |
| ---------- | -------- | -------- | --------------------------------- |
| `listIDs`  | `string` | Yes      | —                                 |
| `page`     | `number` | No       | Page number for paginated results |
| `pageSize` | `number` | No       | Number of results per page        |

**Output**

| Name            | Type               | Required | Description |
| --------------- | ------------------ | -------- | ----------- |
| `listID`        | `string \| number` | No       | —           |
| `name`          | `string`           | No       | —           |
| `totalContacts` | `number`           | No       | —           |

***

### getContactListDetails

`lists.getContactListDetails`

Fetch detailed information for a contact list

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.lists.getContactListDetails({});
```

**Input**

| Name     | Type     | Required | Description |
| -------- | -------- | -------- | ----------- |
| `listID` | `string` | Yes      | —           |

**Output**

| Name            | Type               | Required | Description |
| --------------- | ------------------ | -------- | ----------- |
| `listID`        | `string \| number` | No       | —           |
| `name`          | `string`           | No       | —           |
| `totalContacts` | `number`           | No       | —           |

***

### getContactListFieldNames

`lists.getContactListFieldNames`

Retrieve field names and attributes for a contact list

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.lists.getContactListFieldNames({});
```

**Input**

| Name     | Type     | Required | Description |
| -------- | -------- | -------- | ----------- |
| `listID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getContactLists

`lists.getContactLists`

Retrieve all contact lists

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.lists.getContactLists({});
```

**Input**

| Name       | Type     | Required | Description                       |
| ---------- | -------- | -------- | --------------------------------- |
| `page`     | `number` | No       | Page number for paginated results |
| `pageSize` | `number` | No       | Number of results per page        |

**Output**

| Name            | Type               | Required | Description |
| --------------- | ------------------ | -------- | ----------- |
| `listID`        | `string \| number` | No       | —           |
| `name`          | `string`           | No       | —           |
| `totalContacts` | `number`           | No       | —           |

***

### getContactListSummary

`lists.getContactListSummary`

Get the summary of a contact list

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.lists.getContactListSummary({});
```

**Input**

| Name     | Type     | Required | Description |
| -------- | -------- | -------- | ----------- |
| `listID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getDeleteListCheck

`lists.getDeleteListCheck`

Check whether contact lists can be deleted

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.lists.getDeleteListCheck({});
```

**Input**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `listIDs` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getListUploadTerms

`lists.getListUploadTerms`

Get the terms for contact list uploads

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.lists.getListUploadTerms({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### restoreTrashList

`lists.restoreTrashList`

Restore a trash list

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.lists.restoreTrashList({});
```

**Input**

| Name      | Type     | Required | Description                              |
| --------- | -------- | -------- | ---------------------------------------- |
| `listIDs` | `string` | Yes      | —                                        |
| `data`    | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### updateContactList

`lists.updateContactList`

Update a contact list

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.lists.updateContactList({});
```

**Input**

| Name     | Type     | Required | Description                              |
| -------- | -------- | -------- | ---------------------------------------- |
| `listID` | `string` | Yes      | —                                        |
| `data`   | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name            | Type               | Required | Description |
| --------------- | ------------------ | -------- | ----------- |
| `listID`        | `string \| number` | No       | —           |
| `name`          | `string`           | No       | —           |
| `totalContacts` | `number`           | No       | —           |

***

## Media

### createInbox

`media.createInbox`

Create a new inbox for email testing

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.media.createInbox({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### deleteImage

`media.deleteImage`

Delete an image

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.media.deleteImage({});
```

**Input**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `imageID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### deleteInbox

`media.deleteInbox`

Delete an inbox

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.media.deleteInbox({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### deleteVideo

`media.deleteVideo`

Delete a video

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.media.deleteVideo({});
```

**Input**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `videoID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getGiphyImages

`media.getGiphyImages`

Get the list of Giphy images

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.media.getGiphyImages({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getImageDetails

`media.getImageDetails`

Get the details of an image

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.media.getImageDetails({});
```

**Input**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `imageID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getImages

`media.getImages`

Retrieve a list of images

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.media.getImages({});
```

**Input**

| Name       | Type     | Required | Description                       |
| ---------- | -------- | -------- | --------------------------------- |
| `page`     | `number` | No       | Page number for paginated results |
| `pageSize` | `number` | No       | Number of results per page        |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getInboxDetailResult

`media.getInboxDetailResult`

Get inbox detail test statistics

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.media.getInboxDetailResult({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getInboxList

`media.getInboxList`

Retrieve the inbox list

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.media.getInboxList({});
```

**Input**

| Name       | Type     | Required | Description                       |
| ---------- | -------- | -------- | --------------------------------- |
| `page`     | `number` | No       | Page number for paginated results |
| `pageSize` | `number` | No       | Number of results per page        |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getInboxMasterResult

`media.getInboxMasterResult`

Get an inbox master result

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.media.getInboxMasterResult({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getVideoDetails

`media.getVideoDetails`

Get the details of a video

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.media.getVideoDetails({});
```

**Input**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `videoID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### shareVideo

`media.shareVideo`

Share a video

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.media.shareVideo({});
```

**Input**

| Name      | Type     | Required | Description                              |
| --------- | -------- | -------- | ---------------------------------------- |
| `videoID` | `string` | Yes      | —                                        |
| `data`    | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### uploadVideo

`media.uploadVideo`

Upload a video

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.media.uploadVideo({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

## Polls

### copyPoll

`polls.copyPoll`

Copy an existing poll

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.polls.copyPoll({});
```

**Input**

| Name     | Type     | Required | Description                              |
| -------- | -------- | -------- | ---------------------------------------- |
| `pollID` | `string` | Yes      | —                                        |
| `data`   | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### createPoll

`polls.createPoll`

Create a new poll

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.polls.createPoll({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### deletePoll

`polls.deletePoll`

Delete a poll

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.polls.deletePoll({});
```

**Input**

| Name     | Type     | Required | Description |
| -------- | -------- | -------- | ----------- |
| `pollID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getPollDetails

`polls.getPollDetails`

Retrieve the details of a poll

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.polls.getPollDetails({});
```

**Input**

| Name     | Type     | Required | Description |
| -------- | -------- | -------- | ----------- |
| `pollID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getPollPreview

`polls.getPollPreview`

Get a preview of a poll

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.polls.getPollPreview({});
```

**Input**

| Name     | Type     | Required | Description |
| -------- | -------- | -------- | ----------- |
| `pollID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getPollResponseReport

`polls.getPollResponseReport`

Retrieve the response report of a poll

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.polls.getPollResponseReport({});
```

**Input**

| Name     | Type     | Required | Description |
| -------- | -------- | -------- | ----------- |
| `pollID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getPolls

`polls.getPolls`

Retrieve a list of polls

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.polls.getPolls({});
```

**Input**

| Name       | Type     | Required | Description                       |
| ---------- | -------- | -------- | --------------------------------- |
| `page`     | `number` | No       | Page number for paginated results |
| `pageSize` | `number` | No       | Number of results per page        |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### updatePoll

`polls.updatePoll`

Update a poll

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.polls.updatePoll({});
```

**Input**

| Name     | Type     | Required | Description                              |
| -------- | -------- | -------- | ---------------------------------------- |
| `pollID` | `string` | Yes      | —                                        |
| `data`   | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

## Reports

### downloadContactReport

`reports.downloadContactReport`

Download the contact list report

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.downloadContactReport({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getABTestReport

`reports.getABTestReport`

Retrieve AB split test reports

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getABTestReport({});
```

**Input**

| Name       | Type     | Required | Description                       |
| ---------- | -------- | -------- | --------------------------------- |
| `page`     | `number` | No       | Page number for paginated results |
| `pageSize` | `number` | No       | Number of results per page        |

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getAbuseCampaignReportByEmailID

`reports.getAbuseCampaignReportByEmailID`

Get the abuse campaign report for an email

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getAbuseCampaignReportByEmailID({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getAbuseReport

`reports.getAbuseReport`

Get the abuse report with complaint statistics

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getAbuseReport({});
```

**Input:** *empty object*

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getBouncesReportByEmailID

`reports.getBouncesReportByEmailID`

Get the bounces report for an email campaign

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getBouncesReportByEmailID({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getCampaignEngagementList

`reports.getCampaignEngagementList`

Retrieve campaign engagement statistics

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getCampaignEngagementList({});
```

**Input**

| Name       | Type     | Required | Description                       |
| ---------- | -------- | -------- | --------------------------------- |
| `page`     | `number` | No       | Page number for paginated results |
| `pageSize` | `number` | No       | Number of results per page        |

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getCampaignHistoryByEmailID

`reports.getCampaignHistoryByEmailID`

Get campaign history for an email

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getCampaignHistoryByEmailID({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getClickContactCount

`reports.getClickContactCount`

Get the click contact count for campaigns

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getClickContactCount({});
```

**Input:** *empty object*

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getClickHeatMapByEmailID

`reports.getClickHeatMapByEmailID`

Get the click heatmap report for an email

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getClickHeatMapByEmailID({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getClickPerformanceByEmailID

`reports.getClickPerformanceByEmailID`

Get click performance for an email campaign

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getClickPerformanceByEmailID({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getClickPerformanceDetailsByEmail

`reports.getClickPerformanceDetailsByEmail`

Get click performance details for an email campaign

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getClickPerformanceDetailsByEmail({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getClicksReportByEmailID

`reports.getClicksReportByEmailID`

Get the clicks report for an email campaign

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getClicksReportByEmailID({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getClickURLContactCount

`reports.getClickURLContactCount`

Get the click URL contact count of engagement metrics

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getClickURLContactCount({});
```

**Input:** *empty object*

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getContactReportHistory

`reports.getContactReportHistory`

Get engagement history for a contact by email address

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getContactReportHistory({});
```

**Input**

| Name    | Type     | Required | Description |
| ------- | -------- | -------- | ----------- |
| `email` | `string` | Yes      | —           |

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getDownloadReport

`reports.getDownloadReport`

Get the download report for a contact list

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getDownloadReport({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `id`   | `string` | Yes      | —                                        |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getEmailOpensByCountryRegion

`reports.getEmailOpensByCountryRegion`

Get email opens by country and region

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getEmailOpensByCountryRegion({});
```

**Input**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `id`      | `string` | Yes      | —           |
| `country` | `string` | Yes      | —           |
| `region`  | `string` | Yes      | —           |

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getEmailReport

`reports.getEmailReport`

Get email campaign reports

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getEmailReport({});
```

**Input**

| Name       | Type     | Required | Description                       |
| ---------- | -------- | -------- | --------------------------------- |
| `page`     | `number` | No       | Page number for paginated results |
| `pageSize` | `number` | No       | Number of results per page        |

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getEmailReportForwards

`reports.getEmailReportForwards`

Get the forwards report for an email campaign

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getEmailReportForwards({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getForwardsReportByEmailID

`reports.getForwardsReportByEmailID`

Get the forwards report for an email campaign by ID

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getForwardsReportByEmailID({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getLinkDetailByEmailID

`reports.getLinkDetailByEmailID`

Get the link detail report for an email campaign

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getLinkDetailByEmailID({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getOpenContactCount

`reports.getOpenContactCount`

Get the count of contacts who opened campaigns

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getOpenContactCount({});
```

**Input:** *empty object*

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getOpensHourlyReportByEmail

`reports.getOpensHourlyReportByEmail`

Get the hourly opens report for an email campaign

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getOpensHourlyReportByEmail({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getOpensLocationReport

`reports.getOpensLocationReport`

Get the opens location report for a campaign

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getOpensLocationReport({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getOpensLocationReportByEmail

`reports.getOpensLocationReportByEmail`

Get opens for an email from a specific country

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getOpensLocationReportByEmail({});
```

**Input**

| Name          | Type     | Required | Description |
| ------------- | -------- | -------- | ----------- |
| `id`          | `string` | Yes      | —           |
| `countryCode` | `string` | Yes      | —           |

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getOpensReport

`reports.getOpensReport`

Get the opens report for an email campaign

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getOpensReport({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getReportDetailsByABTest

`reports.getReportDetailsByABTest`

Get report details for an AB split test

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getReportDetailsByABTest({});
```

**Input**

| Name   | Type     | Required | Description |
| ------ | -------- | -------- | ----------- |
| `id`   | `string` | Yes      | —           |
| `abID` | `string` | Yes      | —           |

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getReportDetailsByEmailID

`reports.getReportDetailsByEmailID`

Get the detailed report summary for an email campaign

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getReportDetailsByEmailID({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getReportDownload

`reports.getReportDownload`

Download an email campaign report by type

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getReportDownload({});
```

**Input**

| Name         | Type     | Required | Description |
| ------------ | -------- | -------- | ----------- |
| `id`         | `string` | Yes      | —           |
| `reportType` | `string` | Yes      | —           |

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getReportsForAutoresponders

`reports.getReportsForAutoresponders`

Get reports for autoresponders

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getReportsForAutoresponders({});
```

**Input**

| Name       | Type     | Required | Description                       |
| ---------- | -------- | -------- | --------------------------------- |
| `page`     | `number` | No       | Page number for paginated results |
| `pageSize` | `number` | No       | Number of results per page        |

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getSaveAsList

`reports.getSaveAsList`

Get the save-as-list data

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getSaveAsList({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getSocialPerformanceReport

`reports.getSocialPerformanceReport`

Get the social performance report for a campaign

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getSocialPerformanceReport({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getUnopensReport

`reports.getUnopensReport`

Get the unopens report for an email campaign

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getUnopensReport({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getUnopensReportByEmailID

`reports.getUnopensReportByEmailID`

Get unopens for an email campaign by ID

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getUnopensReportByEmailID({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getUnsubscribeReportByEmailID

`reports.getUnsubscribeReportByEmailID`

Get the unsubscribe report for an email campaign

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getUnsubscribeReportByEmailID({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getURLEngagementList

`reports.getURLEngagementList`

Retrieve URL engagement statistics

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getURLEngagementList({});
```

**Input**

| Name       | Type     | Required | Description                       |
| ---------- | -------- | -------- | --------------------------------- |
| `page`     | `number` | No       | Page number for paginated results |
| `pageSize` | `number` | No       | Number of results per page        |

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### getURLListByEmailID

`reports.getURLListByEmailID`

Get the URL list for an email campaign

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.reports.getURLListByEmailID({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type     | Required | Description |
| --------- | -------- | -------- | ----------- |
| `total`   | `number` | No       | —           |
| `opens`   | `number` | No       | —           |
| `clicks`  | `number` | No       | —           |
| `bounces` | `number` | No       | —           |

***

### updateListCompilationDetails

`reports.updateListCompilationDetails`

Update list compilation details

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.reports.updateListCompilationDetails({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

## Signup Forms

### copySignupForm

`signupForms.copySignupForm`

Copy an existing signup form

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.signupForms.copySignupForm({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `id`   | `string` | Yes      | —                                        |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### createSignupForm

`signupForms.createSignupForm`

Create a new signup form

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.signupForms.createSignupForm({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getHTMLSignupForm

`signupForms.getHTMLSignupForm`

Get the HTML embed code for a signup form

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.signupForms.getHTMLSignupForm({});
```

**Input**

| Name            | Type     | Required | Description                              |
| --------------- | -------- | -------- | ---------------------------------------- |
| `listBuilderID` | `string` | Yes      | —                                        |
| `data`          | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getMagentoHTMLDropdown

`signupForms.getMagentoHTMLDropdown`

Get the Magento signup form dropdown HTML

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.signupForms.getMagentoHTMLDropdown({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getMagentoHTMLSelected

`signupForms.getMagentoHTMLSelected`

Get Magento HTML for a selected signup form

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.signupForms.getMagentoHTMLSelected({});
```

**Input**

| Name            | Type     | Required | Description |
| --------------- | -------- | -------- | ----------- |
| `listBuilderID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getSignupFormButtonCode

`signupForms.getSignupFormButtonCode`

Get the code for the signup form button

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.signupForms.getSignupFormButtonCode({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getSignupFormContactFields

`signupForms.getSignupFormContactFields`

Get the contact fields of a signup form

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.signupForms.getSignupFormContactFields({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getSignupFormDetails

`signupForms.getSignupFormDetails`

Get the details of a signup form

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.signupForms.getSignupFormDetails({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getSignupFormForMagento

`signupForms.getSignupFormForMagento`

Get signup form data for Magento

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.signupForms.getSignupFormForMagento({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getSignupFormForUnbounce

`signupForms.getSignupFormForUnbounce`

Get signup form data for Unbounce

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.signupForms.getSignupFormForUnbounce({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getSignupFormLink

`signupForms.getSignupFormLink`

Get the public link URL for a signup form

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.signupForms.getSignupFormLink({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getSignupFormList

`signupForms.getSignupFormList`

Retrieve all signup forms

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.signupForms.getSignupFormList({});
```

**Input**

| Name       | Type     | Required | Description                       |
| ---------- | -------- | -------- | --------------------------------- |
| `page`     | `number` | No       | Page number for paginated results |
| `pageSize` | `number` | No       | Number of results per page        |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getSignupFormsForContactList

`signupForms.getSignupFormsForContactList`

Get signup forms for a contact list

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.signupForms.getSignupFormsForContactList({});
```

**Input**

| Name     | Type     | Required | Description |
| -------- | -------- | -------- | ----------- |
| `listID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getSignupFormTumbler

`signupForms.getSignupFormTumbler`

Get signup form Tumbler parameters

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.signupForms.getSignupFormTumbler({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getTemplatesForSignupFormClassic

`signupForms.getTemplatesForSignupFormClassic`

Get templates for classic signup forms

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.signupForms.getTemplatesForSignupFormClassic({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getTumblerLists

`signupForms.getTumblerLists`

Get Tumbler signup form lists

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.signupForms.getTumblerLists({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### sendTestEmailForSignupForm

`signupForms.sendTestEmailForSignupForm`

Send a test email for a signup form

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.signupForms.sendTestEmailForSignupForm({});
```

**Input**

| Name   | Type     | Required | Description                              |
| ------ | -------- | -------- | ---------------------------------------- |
| `id`   | `string` | Yes      | —                                        |
| `data` | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

## Surveys

### deleteSurvey

`surveys.deleteSurvey`

Delete a survey

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.surveys.deleteSurvey({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getSurveyDetails

`surveys.getSurveyDetails`

Retrieve the details of a survey

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.surveys.getSurveyDetails({});
```

**Input**

| Name | Type     | Required | Description |
| ---- | -------- | -------- | ----------- |
| `id` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getSurveyFullReport

`surveys.getSurveyFullReport`

Retrieve the full report of a survey

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.surveys.getSurveyFullReport({});
```

**Input**

| Name       | Type     | Required | Description |
| ---------- | -------- | -------- | ----------- |
| `surveyID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getSurveyIndividualQuestionResult

`surveys.getSurveyIndividualQuestionResult`

Get individual question results for a survey respondent

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.surveys.getSurveyIndividualQuestionResult({});
```

**Input**

| Name       | Type     | Required | Description |
| ---------- | -------- | -------- | ----------- |
| `surveyID` | `string` | Yes      | —           |
| `emailID`  | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getSurveyIndividualResults

`surveys.getSurveyIndividualResults`

Retrieve paginated individual survey results

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.surveys.getSurveyIndividualResults({});
```

**Input**

| Name       | Type     | Required | Description                       |
| ---------- | -------- | -------- | --------------------------------- |
| `surveyID` | `string` | Yes      | —                                 |
| `page`     | `number` | No       | Page number for paginated results |
| `pageSize` | `number` | No       | Number of results per page        |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getSurveyReportAnswerComment

`surveys.getSurveyReportAnswerComment`

Retrieve comment answers from a survey report

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.surveys.getSurveyReportAnswerComment({});
```

**Input**

| Name         | Type     | Required | Description |
| ------------ | -------- | -------- | ----------- |
| `surveyID`   | `string` | Yes      | —           |
| `questionID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getSurveyReportAnswerOther

`surveys.getSurveyReportAnswerOther`

Retrieve other answers from a survey report

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.surveys.getSurveyReportAnswerOther({});
```

**Input**

| Name         | Type     | Required | Description |
| ------------ | -------- | -------- | ----------- |
| `surveyID`   | `string` | Yes      | —           |
| `questionID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getSurveyReportAnswerText

`surveys.getSurveyReportAnswerText`

Retrieve text answers from a survey report

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.surveys.getSurveyReportAnswerText({});
```

**Input**

| Name         | Type     | Required | Description |
| ------------ | -------- | -------- | ----------- |
| `surveyID`   | `string` | Yes      | —           |
| `questionID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getSurveyReportDetail

`surveys.getSurveyReportDetail`

Get the report detail of a survey

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.surveys.getSurveyReportDetail({});
```

**Input**

| Name       | Type     | Required | Description |
| ---------- | -------- | -------- | ----------- |
| `surveyID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getSurveyReportList

`surveys.getSurveyReportList`

Retrieve a paginated list of survey reports

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.surveys.getSurveyReportList({});
```

**Input**

| Name       | Type     | Required | Description                       |
| ---------- | -------- | -------- | --------------------------------- |
| `page`     | `number` | No       | Page number for paginated results |
| `pageSize` | `number` | No       | Number of results per page        |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getSurveyTemplateList

`surveys.getSurveyTemplateList`

Retrieve the list of survey templates

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.surveys.getSurveyTemplateList({});
```

**Input:** *empty object*

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### updateSurveyStatus

`surveys.updateSurveyStatus`

Update the status of a survey

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.surveys.updateSurveyStatus({});
```

**Input**

| Name     | Type     | Required | Description                              |
| -------- | -------- | -------- | ---------------------------------------- |
| `id`     | `string` | Yes      | —                                        |
| `status` | `string` | Yes      | —                                        |
| `data`   | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

## Webhooks

### createWebhook

`webhooks.createWebhook`

Create a webhook for a contact list

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.webhooks.createWebhook({});
```

**Input**

| Name     | Type     | Required | Description                              |
| -------- | -------- | -------- | ---------------------------------------- |
| `listID` | `string` | Yes      | —                                        |
| `data`   | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### deleteWebhook

`webhooks.deleteWebhook`

Delete a webhook from a contact list

**Risk:** `destructive`

```ts theme={null}
await corsair.benchmarkemail.api.webhooks.deleteWebhook({});
```

**Input**

| Name     | Type     | Required | Description |
| -------- | -------- | -------- | ----------- |
| `listID` | `string` | Yes      | —           |
| `id`     | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### getWebhooks

`webhooks.getWebhooks`

Retrieve all webhooks for a contact list

**Risk:** `read`

```ts theme={null}
await corsair.benchmarkemail.api.webhooks.getWebhooks({});
```

**Input**

| Name     | Type     | Required | Description |
| -------- | -------- | -------- | ----------- |
| `listID` | `string` | Yes      | —           |

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***

### updateWebhook

`webhooks.updateWebhook`

Update a webhook for a contact list

**Risk:** `write`

```ts theme={null}
await corsair.benchmarkemail.api.webhooks.updateWebhook({});
```

**Input**

| Name     | Type     | Required | Description                              |
| -------- | -------- | -------- | ---------------------------------------- |
| `listID` | `string` | Yes      | —                                        |
| `id`     | `string` | Yes      | —                                        |
| `data`   | `object` | No       | Request body fields for the target route |

<AccordionGroup>
  <Accordion title="data full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name      | Type               | Required | Description |
| --------- | ------------------ | -------- | ----------- |
| `status`  | `string \| number` | No       | —           |
| `message` | `string`           | No       | —           |
| `total`   | `number`           | No       | —           |
| `count`   | `number`           | No       | —           |

***
