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

# Dialpad API reference

> API reference for the Dialpad plugin in Corsair: every `dialpad.api.*` operation with its input and output types, taken from the plugin's Zod schemas.

> [!NOTE]
>
> **New to Corsair?** See [API access](https://docs.corsair.dev/concepts/api.md), [authentication](https://docs.corsair.dev/concepts/auth.md), and [error handling](https://docs.corsair.dev/concepts/error-handling).

## Accesscontrolpolicies

### assign

`accesscontrolpolicies.assign`

Access Control Policies -- Assign. Assigns a user to an access control policy. Requires a company admin API key. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.accesscontrolpolicies.assign({ path: {"id":1}, body: {"user_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   target_id?: number | string | null,
>   target_type?: callcenter | company | department | office | null,
>   user_id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `policy_targets` | `object[] \| null` | No | — |
| `user` | `object` | No | — |

> [accordion] policy\_targets full type
>
> ```ts theme={null}
> {
>   target_id: number | string,
>   target_type?: callcenter | company | department | office | string | null
> }[] | null
> ```

> [accordion] user full type
>
> ```ts theme={null}
> {
>   admin_office_ids?: (number | string)[] | null,
>   company_id?: number | string | null,
>   country?: string | null,
>   date_active?: string | null,
>   date_added?: string | null,
>   date_first_login?: string | null,
>   date_last_login?: string,
>   display_name?: string | null,
>   do_not_disturb?: boolean | null,
>   duty_status_reason?: string | null,
>   duty_status_started?: string | null,
>   emails?: string[] | null,
>   extension?: string | null,
>   first_name?: string | null,
>   forwarding_numbers?: string[] | null,
>   group_details?: {
>     do_not_disturb?: boolean | null,
>     group_id?: number | string | null,
>     group_type?: callcenter | callrouter | channel | coachinggroup | coachingteam | department | office | room | staffgroup | unknown | user | string | null,
>     role?: admin | operator | supervisor | string | null
>   }[] | null,
>   id?: number | string | null,
>   image_url?: string | null,
>   international_dialing_enabled?: boolean | null,
>   is_admin?: boolean | null,
>   is_available?: boolean | null,
>   is_company_admin?: boolean | null,
>   is_on_duty?: boolean | null,
>   is_online?: boolean | null,
>   is_super_admin?: boolean | null,
>   job_title?: string | null,
>   language?: string | null,
>   last_name?: string | null,
>   license?: admins | agents | dpde_all | dpde_one | lite_lines | lite_support_agents | magenta_lines | talk | user | string | null,
>   location?: string | null,
>   muted?: boolean | null,
>   office_id?: number | string | null,
>   on_duty_started?: string | null,
>   on_duty_status?: available | busy | occupied | occupied-end | unavailable | wrapup | wrapup-end | string | null,
>   onboarding_completed: boolean,
>   phone_numbers?: string[] | null,
>   remote_service?: string | null,
>   session_type?: call | digital | string | null,
>   state?: active | cancelled | deleted | pending | suspended | string | null,
>   status_message?: string | null,
>   timezone?: string | null,
>   voicemail: {
>     is_default_voicemail?: boolean,
>     name?: string | null,
>     voicemail_notifications_enabled?: boolean
>   }
> }
> ```

***

### assignments

`accesscontrolpolicies.assignments`

Access Control Policies -- List Assignments. Lists all users assigned to this access control policy. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.accesscontrolpolicies.assignments({ path: {"id":1}, query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `query` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] query full type
>
> ```ts theme={null}
> {
>   cursor?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   policy_targets?: {
>     target_id: number | string,
>     target_type?: callcenter | company | department | office | string | null
>   }[] | null,
>   user?: {
>     admin_office_ids?: (number | string)[] | null,
>     company_id?: number | string | null,
>     country?: string | null,
>     date_active?: string | null,
>     date_added?: string | null,
>     date_first_login?: string | null,
>     date_last_login?: string,
>     display_name?: string | null,
>     do_not_disturb?: boolean | null,
>     duty_status_reason?: string | null,
>     duty_status_started?: string | null,
>     emails?: string[] | null,
>     extension?: string | null,
>     first_name?: string | null,
>     forwarding_numbers?: string[] | null,
>     group_details?: {
>       do_not_disturb?: boolean | null,
>       group_id?: number | string | null,
>       group_type?: callcenter | callrouter | channel | coachinggroup | coachingteam | department | office | room | staffgroup | unknown | user | string | null,
>       role?: admin | operator | supervisor | string | null
>     }[] | null,
>     id?: number | string | null,
>     image_url?: string | null,
>     international_dialing_enabled?: boolean | null,
>     is_admin?: boolean | null,
>     is_available?: boolean | null,
>     is_company_admin?: boolean | null,
>     is_on_duty?: boolean | null,
>     is_online?: boolean | null,
>     is_super_admin?: boolean | null,
>     job_title?: string | null,
>     language?: string | null,
>     last_name?: string | null,
>     license?: admins | agents | dpde_all | dpde_one | lite_lines | lite_support_agents | magenta_lines | talk | user | string | null,
>     location?: string | null,
>     muted?: boolean | null,
>     office_id?: number | string | null,
>     on_duty_started?: string | null,
>     on_duty_status?: available | busy | occupied | occupied-end | unavailable | wrapup | wrapup-end | string | null,
>     onboarding_completed: boolean,
>     phone_numbers?: string[] | null,
>     remote_service?: string | null,
>     session_type?: call | digital | string | null,
>     state?: active | cancelled | deleted | pending | suspended | string | null,
>     status_message?: string | null,
>     timezone?: string | null,
>     voicemail: {
>       is_default_voicemail?: boolean,
>       name?: string | null,
>       voicemail_notifications_enabled?: boolean
>     }
>   }
> }[] | null
> ```

***

### create

`accesscontrolpolicies.create`

Access Control Policies -- Create. Creates a new custom access control policy. Requires a company admin API key. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.accesscontrolpolicies.create({ body: {"name":"sample-value","owner_id":1,"permission_sets":[]} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   description?: string | null,
>   name: string,
>   owner_id: number | string,
>   permission_sets: (agent_settings_write | agents_admins_manage_agents_settings_write | agents_admins_skill_level_write | auto_call_recording_and_transcription_settings_write | business_hours_write | call_blocking_spam_prevention_settings_write | call_dispositions_settings_write | call_routing_hours_settings_write | cc_call_settings_write | chrome_extension_compliance_settings_write | csat_surveys_write | dashboard_and_alerts_write | dialpad_ai_settings_write | holiday_hours_settings_write | integrations_settings_write | name_language_description_settings_write | number_settings_write | supervisor_settings_write)[] | null,
>   target_type?: callcenter | company | department | office | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `number \| string` | Yes | — |
| `date_created` | `string \| null` | No | — |
| `date_updated` | `string \| null` | No | — |
| `description` | `string \| null` | No | — |
| `id` | `number \| string` | Yes | — |
| `name` | `string` | Yes | — |
| `owner_id` | `number \| string` | Yes | — |
| `permission_sets` | `(agent_settings_read \| agent_settings_write \| agents_admins_manage_agents_settings_read \| agents_admins_manage_agents_settings_write \| agents_admins_skill_level_read \| agents_admins_skill_level_write \| auto_call_recording_and_transcription_settings_read \| auto_call_recording_and_transcription_settings_write \| business_hours_read \| business_hours_write \| call_blocking_spam_prevention_settings_read \| call_blocking_spam_prevention_settings_write \| call_dispositions_settings_read \| call_dispositions_settings_write \| call_routing_hours_settings_read \| call_routing_hours_settings_write \| cc_call_settings_read \| cc_call_settings_write \| chrome_extension_compliance_settings_read \| chrome_extension_compliance_settings_write \| csat_surveys_read \| csat_surveys_write \| dashboard_and_alerts_read \| dashboard_and_alerts_write \| dialpad_ai_settings_read \| dialpad_ai_settings_write \| holiday_hours_settings_read \| holiday_hours_settings_write \| integrations_settings_read \| integrations_settings_write \| name_language_description_settings_read \| name_language_description_settings_write \| number_settings_read \| number_settings_write \| supervisor_settings_read \| supervisor_settings_write \| string)[] \| null` | Yes | — |
| `state` | `active \| deleted \| string` | Yes | — |
| `target_type` | `callcenter \| company \| department \| office \| string \| null` | No | — |

***

### delete

`accesscontrolpolicies.delete`

Access Control Policies -- Delete. Deletes a policy by marking the state as deleted, and removing all associated users. Requires a company admin API key. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.accesscontrolpolicies.delete({ path: {"id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `number \| string` | Yes | — |
| `date_created` | `string \| null` | No | — |
| `date_updated` | `string \| null` | No | — |
| `description` | `string \| null` | No | — |
| `id` | `number \| string` | Yes | — |
| `name` | `string` | Yes | — |
| `owner_id` | `number \| string` | Yes | — |
| `permission_sets` | `(agent_settings_read \| agent_settings_write \| agents_admins_manage_agents_settings_read \| agents_admins_manage_agents_settings_write \| agents_admins_skill_level_read \| agents_admins_skill_level_write \| auto_call_recording_and_transcription_settings_read \| auto_call_recording_and_transcription_settings_write \| business_hours_read \| business_hours_write \| call_blocking_spam_prevention_settings_read \| call_blocking_spam_prevention_settings_write \| call_dispositions_settings_read \| call_dispositions_settings_write \| call_routing_hours_settings_read \| call_routing_hours_settings_write \| cc_call_settings_read \| cc_call_settings_write \| chrome_extension_compliance_settings_read \| chrome_extension_compliance_settings_write \| csat_surveys_read \| csat_surveys_write \| dashboard_and_alerts_read \| dashboard_and_alerts_write \| dialpad_ai_settings_read \| dialpad_ai_settings_write \| holiday_hours_settings_read \| holiday_hours_settings_write \| integrations_settings_read \| integrations_settings_write \| name_language_description_settings_read \| name_language_description_settings_write \| number_settings_read \| number_settings_write \| supervisor_settings_read \| supervisor_settings_write \| string)[] \| null` | Yes | — |
| `state` | `active \| deleted \| string` | Yes | — |
| `target_type` | `callcenter \| company \| department \| office \| string \| null` | No | — |

***

### get

`accesscontrolpolicies.get`

Access Control Policies -- Get. Get a specific access control policy's details. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.accesscontrolpolicies.get({ path: {"id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `number \| string` | Yes | — |
| `date_created` | `string \| null` | No | — |
| `date_updated` | `string \| null` | No | — |
| `description` | `string \| null` | No | — |
| `id` | `number \| string` | Yes | — |
| `name` | `string` | Yes | — |
| `owner_id` | `number \| string` | Yes | — |
| `permission_sets` | `(agent_settings_read \| agent_settings_write \| agents_admins_manage_agents_settings_read \| agents_admins_manage_agents_settings_write \| agents_admins_skill_level_read \| agents_admins_skill_level_write \| auto_call_recording_and_transcription_settings_read \| auto_call_recording_and_transcription_settings_write \| business_hours_read \| business_hours_write \| call_blocking_spam_prevention_settings_read \| call_blocking_spam_prevention_settings_write \| call_dispositions_settings_read \| call_dispositions_settings_write \| call_routing_hours_settings_read \| call_routing_hours_settings_write \| cc_call_settings_read \| cc_call_settings_write \| chrome_extension_compliance_settings_read \| chrome_extension_compliance_settings_write \| csat_surveys_read \| csat_surveys_write \| dashboard_and_alerts_read \| dashboard_and_alerts_write \| dialpad_ai_settings_read \| dialpad_ai_settings_write \| holiday_hours_settings_read \| holiday_hours_settings_write \| integrations_settings_read \| integrations_settings_write \| name_language_description_settings_read \| name_language_description_settings_write \| number_settings_read \| number_settings_write \| supervisor_settings_read \| supervisor_settings_write \| string)[] \| null` | Yes | — |
| `state` | `active \| deleted \| string` | Yes | — |
| `target_type` | `callcenter \| company \| department \| office \| string \| null` | No | — |

***

### list

`accesscontrolpolicies.list`

Access Control Policies -- List Policies. Gets all access control policies belonging to the company. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.accesscontrolpolicies.list({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   cursor?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   company_id: number | string,
>   date_created?: string | null,
>   date_updated?: string | null,
>   description?: string | null,
>   id: number | string,
>   name: string,
>   owner_id: number | string,
>   permission_sets: (agent_settings_read | agent_settings_write | agents_admins_manage_agents_settings_read | agents_admins_manage_agents_settings_write | agents_admins_skill_level_read | agents_admins_skill_level_write | auto_call_recording_and_transcription_settings_read | auto_call_recording_and_transcription_settings_write | business_hours_read | business_hours_write | call_blocking_spam_prevention_settings_read | call_blocking_spam_prevention_settings_write | call_dispositions_settings_read | call_dispositions_settings_write | call_routing_hours_settings_read | call_routing_hours_settings_write | cc_call_settings_read | cc_call_settings_write | chrome_extension_compliance_settings_read | chrome_extension_compliance_settings_write | csat_surveys_read | csat_surveys_write | dashboard_and_alerts_read | dashboard_and_alerts_write | dialpad_ai_settings_read | dialpad_ai_settings_write | holiday_hours_settings_read | holiday_hours_settings_write | integrations_settings_read | integrations_settings_write | name_language_description_settings_read | name_language_description_settings_write | number_settings_read | number_settings_write | supervisor_settings_read | supervisor_settings_write | string)[] | null,
>   state: active | deleted | string,
>   target_type?: callcenter | company | department | office | string | null
> }[] | null
> ```

***

### unassign

`accesscontrolpolicies.unassign`

Access Control Policies -- Unassign. Unassigns one or all target groups associated with the user for an access control policy. Requires a company admin API key. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.accesscontrolpolicies.unassign({ path: {"id":1}, body: {"user_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   target_id?: number | string | null,
>   target_type?: callcenter | company | department | office | null,
>   unassign_all?: boolean | null,
>   user_id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `policy_targets` | `object[] \| null` | No | — |
| `user` | `object` | No | — |

> [accordion] policy\_targets full type
>
> ```ts theme={null}
> {
>   target_id: number | string,
>   target_type?: callcenter | company | department | office | string | null
> }[] | null
> ```

> [accordion] user full type
>
> ```ts theme={null}
> {
>   admin_office_ids?: (number | string)[] | null,
>   company_id?: number | string | null,
>   country?: string | null,
>   date_active?: string | null,
>   date_added?: string | null,
>   date_first_login?: string | null,
>   date_last_login?: string,
>   display_name?: string | null,
>   do_not_disturb?: boolean | null,
>   duty_status_reason?: string | null,
>   duty_status_started?: string | null,
>   emails?: string[] | null,
>   extension?: string | null,
>   first_name?: string | null,
>   forwarding_numbers?: string[] | null,
>   group_details?: {
>     do_not_disturb?: boolean | null,
>     group_id?: number | string | null,
>     group_type?: callcenter | callrouter | channel | coachinggroup | coachingteam | department | office | room | staffgroup | unknown | user | string | null,
>     role?: admin | operator | supervisor | string | null
>   }[] | null,
>   id?: number | string | null,
>   image_url?: string | null,
>   international_dialing_enabled?: boolean | null,
>   is_admin?: boolean | null,
>   is_available?: boolean | null,
>   is_company_admin?: boolean | null,
>   is_on_duty?: boolean | null,
>   is_online?: boolean | null,
>   is_super_admin?: boolean | null,
>   job_title?: string | null,
>   language?: string | null,
>   last_name?: string | null,
>   license?: admins | agents | dpde_all | dpde_one | lite_lines | lite_support_agents | magenta_lines | talk | user | string | null,
>   location?: string | null,
>   muted?: boolean | null,
>   office_id?: number | string | null,
>   on_duty_started?: string | null,
>   on_duty_status?: available | busy | occupied | occupied-end | unavailable | wrapup | wrapup-end | string | null,
>   onboarding_completed: boolean,
>   phone_numbers?: string[] | null,
>   remote_service?: string | null,
>   session_type?: call | digital | string | null,
>   state?: active | cancelled | deleted | pending | suspended | string | null,
>   status_message?: string | null,
>   timezone?: string | null,
>   voicemail: {
>     is_default_voicemail?: boolean,
>     name?: string | null,
>     voicemail_notifications_enabled?: boolean
>   }
> }
> ```

***

### update

`accesscontrolpolicies.update`

Access Control Policies -- Update. Updates the provided fields for an existing access control policy. Requires a company admin API key. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.accesscontrolpolicies.update({ path: {"id":1}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   description?: string | null,
>   name?: string | null,
>   permission_sets?: (agent_settings_write | agents_admins_manage_agents_settings_write | agents_admins_skill_level_write | auto_call_recording_and_transcription_settings_write | business_hours_write | call_blocking_spam_prevention_settings_write | call_dispositions_settings_write | call_routing_hours_settings_write | cc_call_settings_write | chrome_extension_compliance_settings_write | csat_surveys_write | dashboard_and_alerts_write | dialpad_ai_settings_write | holiday_hours_settings_write | integrations_settings_write | name_language_description_settings_write | number_settings_write | supervisor_settings_write)[] | null,
>   state?: active | null,
>   user_id?: number | string | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `number \| string` | Yes | — |
| `date_created` | `string \| null` | No | — |
| `date_updated` | `string \| null` | No | — |
| `description` | `string \| null` | No | — |
| `id` | `number \| string` | Yes | — |
| `name` | `string` | Yes | — |
| `owner_id` | `number \| string` | Yes | — |
| `permission_sets` | `(agent_settings_read \| agent_settings_write \| agents_admins_manage_agents_settings_read \| agents_admins_manage_agents_settings_write \| agents_admins_skill_level_read \| agents_admins_skill_level_write \| auto_call_recording_and_transcription_settings_read \| auto_call_recording_and_transcription_settings_write \| business_hours_read \| business_hours_write \| call_blocking_spam_prevention_settings_read \| call_blocking_spam_prevention_settings_write \| call_dispositions_settings_read \| call_dispositions_settings_write \| call_routing_hours_settings_read \| call_routing_hours_settings_write \| cc_call_settings_read \| cc_call_settings_write \| chrome_extension_compliance_settings_read \| chrome_extension_compliance_settings_write \| csat_surveys_read \| csat_surveys_write \| dashboard_and_alerts_read \| dashboard_and_alerts_write \| dialpad_ai_settings_read \| dialpad_ai_settings_write \| holiday_hours_settings_read \| holiday_hours_settings_write \| integrations_settings_read \| integrations_settings_write \| name_language_description_settings_read \| name_language_description_settings_write \| number_settings_read \| number_settings_write \| supervisor_settings_read \| supervisor_settings_write \| string)[] \| null` | Yes | — |
| `state` | `active \| deleted \| string` | Yes | — |
| `target_type` | `callcenter \| company \| department \| office \| string \| null` | No | — |

***

## Agentgroup

### get

`agentgroup.get`

Agent Group -- Get. Requires scope: `agent_groups:read` Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.agentgroup.get({ path: {"id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `created_at` | `number \| string` | Yes | — |
| `group_description` | `string` | No | — |
| `id` | `string` | Yes | — |
| `name` | `string` | Yes | — |
| `office_id` | `string` | Yes | — |
| `updated_at` | `number \| string \| null` | No | — |

***

## Anonymization

### callcontent

`anonymization.callcontent`

Call Content -- Delete (Bulk). Removes call recordings, screen recordings, transcripts, and AI data from the specified calls. The call records themselves are preserved. This operation is asynchronous — queues a task and returns a request\_id for status polling. Rate limit: 10 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.anonymization.callcontent({ body: {"call_ids":[]} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   call_ids: (number | string)[]
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `completed_count` | `number \| string` | Yes | — |
| `date_completed` | `string \| null` | No | — |
| `date_created` | `string` | Yes | — |
| `failed_count` | `number \| string` | Yes | — |
| `request_id` | `string` | Yes | — |
| `status` | `string` | Yes | — |
| `total` | `number \| string` | Yes | — |

***

### contacts

`anonymization.contacts`

Anonymize -- Contacts (Bulk). Anonymizes the specified contacts by removing all PII (name, phone, email, etc). Call recordings and AI data associated with these contacts are also removed. This operation is asynchronous — queues one task per contact and returns a request\_id for status polling. Rate limit: 10 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.anonymization.contacts({ body: {"contact_keys":[]} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   contact_keys: string[]
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `completed_count` | `number \| string` | Yes | — |
| `date_completed` | `string \| null` | No | — |
| `date_created` | `string` | Yes | — |
| `failed_count` | `number \| string` | Yes | — |
| `request_id` | `string` | Yes | — |
| `status` | `string` | Yes | — |
| `total` | `number \| string` | Yes | — |

***

### requests.get

`anonymization.requests.get`

Anonymization Request -- Get. Returns the current status of an anonymization request. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.anonymization.requests.get({ path: {"request_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   request_id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `completed_count` | `number \| string` | Yes | — |
| `date_completed` | `string \| null` | No | — |
| `date_created` | `string` | Yes | — |
| `failed_count` | `number \| string` | Yes | — |
| `request_id` | `string` | Yes | — |
| `status` | `string` | Yes | — |
| `total` | `number \| string` | Yes | — |

***

## App Settings

### get

`app_settings.get`

App Settings -- Get. Gets the app settings of the OAuth app that is associated with the API key for the target, if target\_type and target\_id are provided. Otherwise, will return the app settings for the company. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.app_settings.get({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   target_id?: number | string,
>   target_type?: callcenter | callrouter | channel | coachinggroup | coachingteam | department | office | room | staffgroup | unknown | user
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `enabled` | `boolean \| null` | No | — |
| `is_preferred_service` | `boolean \| null` | No | — |
| `settings` | `Record<string, any> \| null` | No | — |

***

## Available Licenses

### list

`available_licenses.list`

Licenses -- List Available. Gets how many licenses of each line type an office has purchased but not yet assigned, so a count of zero for a line type means a new user or room of that type cannot be added without buying more. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.available_licenses.list({ path: {"office_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   office_id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `additional_number_lines` | `number \| string \| null` | No | — |
| `admin_lines` | `number \| string \| null` | No | — |
| `base_user_lines` | `number \| string \| null` | No | — |
| `contact_center_lines` | `number \| string \| null` | No | — |
| `dpde_all_lines` | `number \| string \| null` | No | — |
| `dpde_one_lines` | `number \| string \| null` | No | — |
| `fax_lines` | `number \| string \| null` | No | — |
| `lite_lines` | `number \| string \| null` | No | — |
| `room_lines` | `number \| string \| null` | No | — |
| `sell_lines` | `number \| string \| null` | No | — |
| `talk_lines` | `number \| string \| null` | No | — |
| `tollfree_additional_number_lines` | `number \| string \| null` | No | — |
| `tollfree_room_lines` | `number \| string \| null` | No | — |
| `tollfree_uberconference_lines` | `number \| string \| null` | No | — |
| `uberconference_lines` | `number \| string \| null` | No | — |

***

## Available Numbers

### list

`available_numbers.list`

Dialpad Number -- List Available. Searches the phone numbers that are available to assign, in the country of the user's office. Search by area code, city or the first digits of a number, and page through the results with the cursor. The search has these fallbacks: - A toll-free search with no matches returns any available toll-free numbers instead. - For a US search that has run out of results, the response lists overlaying\_area\_codes: other area codes that serve the same region, to search next. - When nothing matches an international search, set country\_fallback to get numbers from the whole country instead; the response then has search\_extended\_to\_country set. Requires a user API key. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.available_numbers.list({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   cursor?: string,
>   query?: string,
>   limit?: number | string,
>   type?: local | tollfree,
>   country_fallback?: boolean
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[] \| null` | No | — |
| `overlaying_area_codes` | `string[] \| null` | No | — |
| `search_extended_to_country` | `boolean \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   display_number?: string | null,
>   number?: string | null
> }[] | null
> ```

***

## Blockednumbers

### add

`blockednumbers.add`

Blocked Number -- Add. Blocks the given phone numbers company-wide, so that inbound calls and texts from them are rejected for every user in the company. Returns no content on success. Blocking is reversible via the remove endpoint. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.blockednumbers.add({ body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   numbers?: string[] | null
> }
> ```

**Output:** `any`

***

### get

`blockednumbers.get`

Blocked Number -- Get. Checks whether a single phone number is blocked company-wide. Returns the number if it is blocked, and 404s if it is not blocked or was blocked outside the API. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.blockednumbers.get({ path: {"number":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   number: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `number` | `string \| null` | No | — |

***

### list

`blockednumbers.list`

Blocked Numbers -- List. Lists the phone numbers blocked company-wide through the API. Numbers blocked by other means are not included. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.blockednumbers.list({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   cursor?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   number?: string | null
> }[] | null
> ```

***

### remove

`blockednumbers.remove`

Blocked Number -- Remove. Unblocks the given phone numbers company-wide, restoring inbound calls and texts from them. Returns no content on success. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.blockednumbers.remove({ body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   numbers?: string[] | null
> }
> ```

**Output:** `any`

***

## Bulk Messages

### get

`bulk_messages.get`

Bulk Message -- Get. Gets a single bulk message by ID. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.bulk_messages.get({ path: {"id":"sample-value"}, query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `query` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

> [accordion] query full type
>
> ```ts theme={null}
> {
>   user_id?: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `bulk_message_id` | `string \| null` | No | — |
| `classified_spam` | `boolean \| null` | No | — |
| `created_date` | `number \| string \| null` | No | — |
| `from_number` | `string \| null` | No | — |
| `media` | `string \| null` | No | — |
| `num_recipients` | `number \| string \| null` | No | — |
| `recipients` | `object[] \| null` | No | — |
| `sms_has_errors` | `boolean \| null` | No | — |
| `status` | `complete \| pending \| string \| null` | No | — |
| `text` | `string` | Yes | — |
| `title` | `string \| null` | No | — |
| `user_id` | `number \| string \| null` | No | — |

> [accordion] recipients full type
>
> ```ts theme={null}
> {
>   attempted_send?: boolean | null,
>   delivery_error_code?: string | null,
>   delivery_error_details?: string | null,
>   delivery_method?: string | null,
>   delivery_status?: string | null,
>   delivery_status_timestamp?: number | string | null,
>   display_name?: string | null,
>   error_message?: string | null,
>   phone_number?: string | null
> }[] | null
> ```

***

### list

`bulk_messages.list`

Bulk Message -- List. Lists all bulk messages for the authenticated user. Results can be paginated using the cursor parameter. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.bulk_messages.list({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   limit?: number | string,
>   user_id?: number | string,
>   cursor?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `bulk_messages` | `object[] \| null` | No | — |
| `cursor` | `string \| null` | No | — |
| `has_more` | `boolean \| null` | No | — |

> [accordion] bulk\_messages full type
>
> ```ts theme={null}
> {
>   bulk_message_id?: string | null,
>   classified_spam?: boolean | null,
>   created_date?: number | string | null,
>   from_number?: string | null,
>   media?: string | null,
>   num_recipients?: number | string | null,
>   recipients?: {
>     attempted_send?: boolean | null,
>     delivery_error_code?: string | null,
>     delivery_error_details?: string | null,
>     delivery_method?: string | null,
>     delivery_status?: string | null,
>     delivery_status_timestamp?: number | string | null,
>     display_name?: string | null,
>     error_message?: string | null,
>     phone_number?: string | null
>   }[] | null,
>   sms_has_errors?: boolean | null,
>   status?: complete | pending | string | null,
>   text: string,
>   title?: string | null,
>   user_id?: number | string | null
> }[] | null
> ```

***

### send

`bulk_messages.send`

Bulk Message -- Send. Sends a bulk message to multiple recipients (up to 50). This endpoint allows you to send the same message to multiple phone numbers. All existing logic (including spam checks, delivery behavior, and visibility in the Bulk Messages UI tab) will remain the same for API-triggered sends. **Important**: Message sending is asynchronous. This endpoint creates the bulk message batch and returns immediately with success=True, indicating the batch was created successfully. Individual messages are sent in the background. To check the delivery status of individual recipients, use the GET /message/bulk/\{id} endpoint to retrieve the batch with delivery status information (attempted\_send, error\_message, delivery\_status fields per recipient). Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.bulk_messages.send({ body: {"from_number":"sample-value","text":"sample-value","to_numbers":[]} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   from_number: string,
>   media?: string | null,
>   text: string,
>   title?: string | null,
>   to_numbers: string[],
>   user_id?: number | string | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `bulk_message` | `object` | No | — |
| `message` | `string \| null` | No | — |
| `success` | `boolean \| null` | No | — |

> [accordion] bulk\_message full type
>
> ```ts theme={null}
> {
>   bulk_message_id?: string | null,
>   classified_spam?: boolean | null,
>   created_date?: number | string | null,
>   from_number?: string | null,
>   media?: string | null,
>   num_recipients?: number | string | null,
>   recipients?: {
>     attempted_send?: boolean | null,
>     delivery_error_code?: string | null,
>     delivery_error_details?: string | null,
>     delivery_method?: string | null,
>     delivery_status?: string | null,
>     delivery_status_timestamp?: number | string | null,
>     display_name?: string | null,
>     error_message?: string | null,
>     phone_number?: string | null
>   }[] | null,
>   sms_has_errors?: boolean | null,
>   status?: complete | pending | string | null,
>   text: string,
>   title?: string | null,
>   user_id?: number | string | null
> }
> ```

***

### update

`bulk_messages.update`

Bulk Message -- Update. Updates a bulk message text and/or media. Supports partial updates. Only the fields provided in the request will be updated. Fields not provided will retain their existing values. This follows PATCH semantics. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.bulk_messages.update({ path: {"id":"sample-value"}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   media?: string | null,
>   text?: string | null,
>   user_id?: number | string | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `bulk_message` | `object` | No | — |
| `message` | `string \| null` | No | — |
| `success` | `boolean \| null` | No | — |

> [accordion] bulk\_message full type
>
> ```ts theme={null}
> {
>   bulk_message_id?: string | null,
>   classified_spam?: boolean | null,
>   created_date?: number | string | null,
>   from_number?: string | null,
>   media?: string | null,
>   num_recipients?: number | string | null,
>   recipients?: {
>     attempted_send?: boolean | null,
>     delivery_error_code?: string | null,
>     delivery_error_details?: string | null,
>     delivery_method?: string | null,
>     delivery_status?: string | null,
>     delivery_status_timestamp?: number | string | null,
>     display_name?: string | null,
>     error_message?: string | null,
>     phone_number?: string | null
>   }[] | null,
>   sms_has_errors?: boolean | null,
>   status?: complete | pending | string | null,
>   text: string,
>   title?: string | null,
>   user_id?: number | string | null
> }
> ```

***

## Call

### add\_labels

`call.add_labels`

Label -- Add. Adds labels to a determined call id, keeping any labels already on the call. A label already present is not duplicated. Labels cannot be removed through this endpoint. Rate limit: 250 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.call.add_labels({ path: {"id":1}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   labels?: string[] | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `admin_call_recording_share_links` | `string[] \| null` | No | — |
| `call_id` | `number \| string \| null` | No | — |
| `call_recording_share_links` | `string[] \| null` | No | — |
| `contact` | `object` | No | — |
| `csat_recording_urls` | `string[] \| null` | No | — |
| `csat_score` | `string \| null` | No | — |
| `csat_transcriptions` | `string[] \| null` | No | — |
| `custom_data` | `string \| null` | No | — |
| `date_connected` | `number \| string \| null` | No | — |
| `date_ended` | `number \| string \| null` | No | — |
| `date_rang` | `number \| string \| null` | No | — |
| `date_started` | `number \| string \| null` | No | — |
| `direction` | `string \| null` | No | — |
| `duration` | `number \| null` | No | — |
| `entry_point_call_id` | `number \| string \| null` | No | — |
| `entry_point_target` | `object` | No | — |
| `event_timestamp` | `number \| string \| null` | No | — |
| `external_number` | `string \| null` | No | — |
| `group_id` | `string \| null` | No | — |
| `internal_number` | `string \| null` | No | — |
| `is_transferred` | `boolean \| null` | No | — |
| `labels` | `string[] \| null` | No | — |
| `master_call_id` | `number \| string \| null` | No | — |
| `mos_score` | `number \| null` | No | — |
| `operator_call_id` | `number \| string \| null` | No | — |
| `proxy_target` | `object` | No | — |
| `recording_details` | `object[] \| null` | No | — |
| `routing_breadcrumbs` | `object[] \| null` | No | — |
| `screen_recording_urls` | `string[] \| null` | No | — |
| `state` | `string \| null` | No | — |
| `target` | `object` | No | — |
| `total_duration` | `number \| null` | No | — |
| `transcription_text` | `string \| null` | No | — |
| `voicemail_link` | `string \| null` | No | — |
| `voicemail_recording_id` | `string \| null` | No | — |
| `voicemail_share_link` | `string \| null` | No | — |
| `was_recorded` | `boolean \| null` | No | — |

> [accordion] contact full type
>
> ```ts theme={null}
> {
>   email?: string | null,
>   id?: string | null,
>   name?: string | null,
>   phone?: string | null,
>   type?: string | null
> }
> ```

> [accordion] entry\_point\_target full type
>
> ```ts theme={null}
> {
>   email?: string | null,
>   id?: string | null,
>   name?: string | null,
>   phone?: string | null,
>   type?: string | null
> }
> ```

> [accordion] proxy\_target full type
>
> ```ts theme={null}
> {
>   email?: string | null,
>   id?: string | null,
>   name?: string | null,
>   phone?: string | null,
>   type?: string | null
> }
> ```

> [accordion] recording\_details full type
>
> ```ts theme={null}
> {
>   duration?: number | string | null,
>   id?: string | null,
>   recording_type?: admincallrecording | callrecording | voicemail | string | null,
>   start_time?: number | string | null,
>   url?: string | null
> }[] | null
> ```

> [accordion] routing\_breadcrumbs full type
>
> ```ts theme={null}
> {
>   breadcrumb_type?: callrouter | external_api | string | null,
>   date?: number | string | null,
>   request?: {
>   } | null,
>   response?: {
>   } | null,
>   target_id?: number | string | null,
>   target_type?: string | null,
>   url?: string | null
> }[] | null
> ```

> [accordion] target full type
>
> ```ts theme={null}
> {
>   email?: string | null,
>   id?: string | null,
>   name?: string | null,
>   phone?: string | null,
>   type?: string | null
> }
> ```

***

### assign

`call.assign`

Call -- Assign Operator. Assigns an operator to a call queued in a contact center. Only contact center calls are eligible for this operation. Currently supports assigning one operator per request. Rate limit: 12 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.call.assign({ path: {"id":1}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   operator_ids?: (number | string)[]
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `assigned_operators` | `object` | No | — |
| `call_id` | `number \| string \| null` | No | — |
| `operators` | `object[] \| null` | No | — |
| `status` | `error \| success \| string \| null` | No | — |

> [accordion] assigned\_operators full type
>
> ```ts theme={null}
> {
>   count?: number | string | null,
>   operator_ids?: (number | string)[] | null
> }
> ```

> [accordion] operators full type
>
> ```ts theme={null}
> {
>   code?: number | string | null,
>   id?: number | string | null,
>   message?: string | null,
>   status?: error | success | string | null
> }[] | null
> ```

***

### get\_ai\_recap

`call.get_ai_recap`

Call -- Get Ai Recap. Gets the Ai Recap for a call. Requires scope: `ai_recap` Rate limit: 12 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.call.get_ai_recap({ path: {"id":1}, query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `query` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] query full type
>
> ```ts theme={null}
> {
>   summary_format?: bullet | long | medium | short
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `action_items` | `object[] \| null` | No | — |
| `call_id` | `string \| null` | No | — |
| `date_created` | `number \| string \| null` | No | — |
| `date_modified` | `number \| string \| null` | No | — |
| `disposition` | `object` | No | — |
| `is_internal_call` | `boolean \| null` | No | — |
| `purposes` | `object[] \| null` | No | — |
| `source` | `string \| null` | No | — |
| `summary` | `object` | No | — |

> [accordion] action\_items full type
>
> ```ts theme={null}
> {
>   content?: string | null,
>   edited?: boolean | null,
>   format?: string | null,
>   id?: string | null,
>   target_short_key?: string | null
> }[] | null
> ```

> [accordion] disposition full type
>
> ```ts theme={null}
> {
>   content?: string | null,
>   edited?: boolean | null,
>   format?: string | null,
>   id?: string | null,
>   target_short_key?: string | null
> }
> ```

> [accordion] purposes full type
>
> ```ts theme={null}
> {
>   category?: string | null,
>   content?: string | null,
>   edited?: boolean | null,
>   format?: string | null,
>   id?: string | null,
>   target_short_key?: string | null
> }[] | null
> ```

> [accordion] summary full type
>
> ```ts theme={null}
> {
>   content?: string | null,
>   date_text_last_edited?: number | string | null,
>   edited?: boolean | null,
>   format?: string | null,
>   id?: string | null,
>   null_summary?: boolean | null,
>   target_short_key?: string | null
> }
> ```

***

### get\_assigned\_operators

`call.get_assigned_operators`

Call -- Assigned Operators. Get all assigned operators from a call queued in a contact center. Only contact center calls are eligible for this operation. Rate limit: 250 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.call.get_assigned_operators({ path: {"id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `call_id` | `number \| string` | Yes | — |
| `count` | `number \| string \| null` | No | — |
| `operator_ids` | `(number \| string)[] \| null` | No | — |

***

### get\_call\_info

`call.get_call_info`

Call -- Get. Get call status and detailed information for a concluded call, including direction, duration, recording URLs, CSAT scores, voicemail metadata, and transcription text. Also returns routing\_breadcrumbs, which is only populated for calls routed through a customer-configured API Call Router and is empty for every other call. Rate limit: 10 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.call.get_call_info({ path: {"id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `admin_call_recording_share_links` | `string[] \| null` | No | — |
| `call_id` | `number \| string \| null` | No | — |
| `call_recording_share_links` | `string[] \| null` | No | — |
| `contact` | `object` | No | — |
| `csat_recording_urls` | `string[] \| null` | No | — |
| `csat_score` | `string \| null` | No | — |
| `csat_transcriptions` | `string[] \| null` | No | — |
| `custom_data` | `string \| null` | No | — |
| `date_connected` | `number \| string \| null` | No | — |
| `date_ended` | `number \| string \| null` | No | — |
| `date_rang` | `number \| string \| null` | No | — |
| `date_started` | `number \| string \| null` | No | — |
| `direction` | `string \| null` | No | — |
| `duration` | `number \| null` | No | — |
| `entry_point_call_id` | `number \| string \| null` | No | — |
| `entry_point_target` | `object` | No | — |
| `event_timestamp` | `number \| string \| null` | No | — |
| `external_number` | `string \| null` | No | — |
| `group_id` | `string \| null` | No | — |
| `internal_number` | `string \| null` | No | — |
| `is_transferred` | `boolean \| null` | No | — |
| `labels` | `string[] \| null` | No | — |
| `master_call_id` | `number \| string \| null` | No | — |
| `mos_score` | `number \| null` | No | — |
| `operator_call_id` | `number \| string \| null` | No | — |
| `proxy_target` | `object` | No | — |
| `recording_details` | `object[] \| null` | No | — |
| `routing_breadcrumbs` | `object[] \| null` | No | — |
| `screen_recording_urls` | `string[] \| null` | No | — |
| `state` | `string \| null` | No | — |
| `target` | `object` | No | — |
| `total_duration` | `number \| null` | No | — |
| `transcription_text` | `string \| null` | No | — |
| `voicemail_link` | `string \| null` | No | — |
| `voicemail_recording_id` | `string \| null` | No | — |
| `voicemail_share_link` | `string \| null` | No | — |
| `was_recorded` | `boolean \| null` | No | — |

> [accordion] contact full type
>
> ```ts theme={null}
> {
>   email?: string | null,
>   id?: string | null,
>   name?: string | null,
>   phone?: string | null,
>   type?: string | null
> }
> ```

> [accordion] entry\_point\_target full type
>
> ```ts theme={null}
> {
>   email?: string | null,
>   id?: string | null,
>   name?: string | null,
>   phone?: string | null,
>   type?: string | null
> }
> ```

> [accordion] proxy\_target full type
>
> ```ts theme={null}
> {
>   email?: string | null,
>   id?: string | null,
>   name?: string | null,
>   phone?: string | null,
>   type?: string | null
> }
> ```

> [accordion] recording\_details full type
>
> ```ts theme={null}
> {
>   duration?: number | string | null,
>   id?: string | null,
>   recording_type?: admincallrecording | callrecording | voicemail | string | null,
>   start_time?: number | string | null,
>   url?: string | null
> }[] | null
> ```

> [accordion] routing\_breadcrumbs full type
>
> ```ts theme={null}
> {
>   breadcrumb_type?: callrouter | external_api | string | null,
>   date?: number | string | null,
>   request?: {
>   } | null,
>   response?: {
>   } | null,
>   target_id?: number | string | null,
>   target_type?: string | null,
>   url?: string | null
> }[] | null
> ```

> [accordion] target full type
>
> ```ts theme={null}
> {
>   email?: string | null,
>   id?: string | null,
>   name?: string | null,
>   phone?: string | null,
>   type?: string | null
> }
> ```

***

### hangup

`call.hangup`

Call Actions -- Hang up. Hangs up the call. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.call.hangup({ path: {"id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

**Output:** `any`

***

### initiate

`call.initiate`

Call -- Initiate via Ring. Initiates an outbound call to ring all devices (or a single specified device). Note that the user must have at least one active device (a web, desktop or mobile Dialpad app; a CTI application; or a physical deskphone). Rate limit: 5 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.call.initiate({ body: {"phone_number":"sample-value","user_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   custom_data?: string | null,
>   device_id?: string | null,
>   group_id?: number | string | null,
>   group_type?: callcenter | department | office | null,
>   is_consult?: boolean,
>   outbound_caller_id?: string | null,
>   phone_number: string,
>   user_id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `call_id` | `number \| string \| null` | No | — |

***

### initiate\_ivr\_call

`call.initiate_ivr_call`

Call -- Initiate IVR Call. Initiates an outbound call to ring an IVR Workflow. Rate limit: 10 per minute per IVR. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.call.initiate_ivr_call({ body: {"phone_number":"sample-value","target_id":1,"target_type":"callcenter"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   custom_data?: string | null,
>   outbound_caller_id?: string | null,
>   phone_number: string,
>   target_id: number | string,
>   target_type: callcenter | department | office
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `call_id` | `number \| string` | Yes | — |

***

### list

`call.list`

Call -- List. Provides a paginated list of calls matching the specified filter parameters in reverse-chronological order by call start time (i.e. recent calls first) Note: This API will only include calls that have already concluded. When no target is specified, company-level API keys and company admins list all of the company's calls, and other user-level API keys list the authenticated user's own calls. Requires scope: `calls:list` Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.call.list({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   cursor?: string,
>   include_anonymized?: boolean,
>   started_after?: number | string,
>   started_before?: number | string,
>   target_id?: number | string,
>   target_type?: callcenter | callrouter | channel | coachinggroup | coachingteam | department | office | room | staffgroup | unknown | user
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   admin_call_recording_share_links?: string[] | null,
>   call_id?: number | string | null,
>   call_recording_share_links?: string[] | null,
>   contact?: {
>     email?: string | null,
>     id?: string | null,
>     name?: string | null,
>     phone?: string | null,
>     type?: string | null
>   },
>   csat_recording_urls?: string[] | null,
>   csat_score?: string | null,
>   csat_transcriptions?: string[] | null,
>   custom_data?: string | null,
>   date_connected?: number | string | null,
>   date_ended?: number | string | null,
>   date_rang?: number | string | null,
>   date_started?: number | string | null,
>   direction?: string | null,
>   duration?: number | null,
>   entry_point_call_id?: number | string | null,
>   entry_point_target?: {
>     email?: string | null,
>     id?: string | null,
>     name?: string | null,
>     phone?: string | null,
>     type?: string | null
>   },
>   event_timestamp?: number | string | null,
>   external_number?: string | null,
>   group_id?: string | null,
>   internal_number?: string | null,
>   is_transferred?: boolean | null,
>   labels?: string[] | null,
>   master_call_id?: number | string | null,
>   mos_score?: number | null,
>   operator_call_id?: number | string | null,
>   proxy_target?: {
>     email?: string | null,
>     id?: string | null,
>     name?: string | null,
>     phone?: string | null,
>     type?: string | null
>   },
>   recording_details?: {
>     duration?: number | string | null,
>     id?: string | null,
>     recording_type?: admincallrecording | callrecording | voicemail | string | null,
>     start_time?: number | string | null,
>     url?: string | null
>   }[] | null,
>   routing_breadcrumbs?: {
>     breadcrumb_type?: callrouter | external_api | string | null,
>     date?: number | string | null,
>     request?: {
>     } | null,
>     response?: {
>     } | null,
>     target_id?: number | string | null,
>     target_type?: string | null,
>     url?: string | null
>   }[] | null,
>   screen_recording_urls?: string[] | null,
>   state?: string | null,
>   target?: {
>     email?: string | null,
>     id?: string | null,
>     name?: string | null,
>     phone?: string | null,
>     type?: string | null
>   },
>   total_duration?: number | null,
>   transcription_text?: string | null,
>   voicemail_link?: string | null,
>   voicemail_recording_id?: string | null,
>   voicemail_share_link?: string | null,
>   was_recorded?: boolean | null
> }[] | null
> ```

***

### participants.add

`call.participants.add`

Call -- Add Participant. Adds another participant to a call. Valid methods to add are by phone or by target. Targets require to have a primary phone Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.call.participants.add({ path: {"id":1}, body: {"participant":{"number":"sample-value"}} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   participant: {
>     number: string
>   } | {
>     target_id: number | string,
>     target_type: callcenter | department | office | user
>   }
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `call_id` | `number \| string \| null` | No | — |

***

### transfer\_call

`call.transfer_call`

Call -- Transfer. Transfers call to another recipient. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.call.transfer_call({ path: {"id":1}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   custom_data?: string | null,
>   to?: {
>     operator_id: number | string,
>     target_id: number | string
>   } | {
>     call_id: number | string
>   } | {
>     number: string
>   } | {
>     target_id: number | string,
>     target_type: callcenter | department | office | user
>   },
>   transfer_state?: hold | parked | preanswer | voicemail | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `call_id` | `number \| string \| null` | No | — |
| `transferred_to_number` | `string \| null` | No | — |
| `transferred_to_state` | `hold \| parked \| preanswer \| voicemail \| string \| null` | No | — |

***

### unassign\_all\_call\_operators

`call.unassign_all_call_operators`

Call -- Unassign All Call Operators. Unassigns all assigned operators from a call queued in a contact center. Only contact center calls are eligible for this operation. Rate limit: 12 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.call.unassign_all_call_operators({ path: {"id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `call_id` | `number \| string` | Yes | — |
| `count` | `number \| string \| null` | No | — |
| `operator_ids` | `(number \| string)[] \| null` | No | — |

***

### unassign\_operator

`call.unassign_operator`

Call -- Unassign Call Operator. Unassigns an operator from a call queued in a contact center. Only contact center calls are eligible for this operation. Currently supports unassigning one specific operator per request. Rate limit: 12 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.call.unassign_operator({ path: {"id":1}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   operator_ids?: (number | string)[]
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `assigned_operators` | `object` | No | — |
| `call_id` | `number \| string \| null` | No | — |
| `operators` | `object[] \| null` | No | — |
| `status` | `error \| success \| string \| null` | No | — |

> [accordion] assigned\_operators full type
>
> ```ts theme={null}
> {
>   count?: number | string | null,
>   operator_ids?: (number | string)[] | null
> }
> ```

> [accordion] operators full type
>
> ```ts theme={null}
> {
>   code?: number | string | null,
>   id?: number | string | null,
>   message?: string | null,
>   status?: error | success | string | null
> }[] | null
> ```

***

### unpark

`call.unpark`

Call -- Unpark. Unparks a call previously parked on an Office mainline, routing it to the specified user. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.call.unpark({ path: {"id":1}, body: {"user_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   user_id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `call_id` | `number \| string \| null` | No | — |

***

## Call Labels

### list

`call_labels.list`

Label -- List. Gets all labels for a determined company. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.call_labels.list({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   limit?: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `labels` | `string[] \| null` | No | — |

***

## Call Review Share Link

### create

`call_review_share_link.create`

Call Review Sharelink -- Create. Create a call review share link by call id. Rate limit: 250 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.call_review_share_link.create({ body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   call_id?: number | string | null,
>   privacy?: company | public | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `access_link` | `string \| null` | No | — |
| `call_id` | `number \| string \| null` | No | — |
| `id` | `string \| null` | No | — |
| `privacy` | `company \| public \| string \| null` | No | — |

***

### delete

`call_review_share_link.delete`

Call Review Sharelink -- Delete. Delete a call review share link by id. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.call_review_share_link.delete({ path: {"id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `access_link` | `string \| null` | No | — |
| `call_id` | `number \| string \| null` | No | — |
| `id` | `string \| null` | No | — |
| `privacy` | `company \| public \| string \| null` | No | — |

***

### get

`call_review_share_link.get`

Call Review Sharelink -- Get. Gets a call review share link by call id. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.call_review_share_link.get({ path: {"id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `access_link` | `string \| null` | No | — |
| `call_id` | `number \| string \| null` | No | — |
| `id` | `string \| null` | No | — |
| `privacy` | `company \| public \| string \| null` | No | — |

***

### update

`call_review_share_link.update`

Call Review Sharelink -- Update. Update a call review share link by id. Rate limit: 250 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.call_review_share_link.update({ path: {"id":"sample-value"}, body: {"privacy":"company"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   privacy: company | public
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `access_link` | `string \| null` | No | — |
| `call_id` | `number \| string \| null` | No | — |
| `id` | `string \| null` | No | — |
| `privacy` | `company \| public \| string \| null` | No | — |

***

## Callback

### enqueue

`callback.enqueue`

Call Back -- Enqueue. Requests a call back to a given number by an operator in a given call center, and returns the request's position in the queue. The call back joins the call center queue like a regular call and dials out when the next operator becomes available, respecting the call center's business and holiday hours and queue settings. International call backs are not supported, and a duplicate call back for the same number and call center is rejected. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.callback.enqueue({ body: {"call_center_id":1,"phone_number":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   call_center_id: number | string,
>   phone_number: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `position` | `number \| string \| null` | No | — |

***

### validate

`callback.validate`

Call Back -- Validate. Performs a dry run of a callback request without adding it to the call center queue and without placing any call. Runs the same validation as enqueuing would, so it reports the same failures (unreachable number, international destination, duplicate request, call center closed) up front. Returns whether the request would succeed. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.callback.validate({ body: {"call_center_id":1,"phone_number":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   call_center_id: number | string,
>   phone_number: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `success` | `boolean \| null` | No | — |

***

## Callbacks

### list

`callbacks.list`

Call Back -- List. Lists the callback requests waiting in a call center's queue, oldest first, so the first result has been waiting longest. Each callback reports the number to call back, when it was queued, and a status that is either "queued" while the request is still waiting for an operator or "timed\_out" once it waited longer than the call center's max\_hold\_seconds. Queued callbacks carry their position in the queue; timed-out ones do not. The API key must have admin rights on the specified call center; this is a per-call-center check rather than a company-wide admin requirement. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.callbacks.list({ query: {"call_center_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | Yes | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   cursor?: string,
>   limit?: number | string,
>   call_center_id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[]` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   call_center_id: string,
>   call_center_name?: string | null,
>   date_queued?: string | null,
>   id: string,
>   phone_number?: string | null,
>   queue_position?: string | null,
>   status: string
> }[]
> ```

***

## Callcenters

### create

`callcenters.create`

Call Centers -- Create. Create a new call center in the specified office. Requires name and office\_id. Requires a company admin API key. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.callcenters.create({ body: {"name":"sample-value","office_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   advanced_settings?: {
>     auto_call_recording?: {
>       allow_pause_recording?: boolean | null,
>       call_recording_inbound?: boolean | null,
>       call_recording_outbound?: boolean | null
>     },
>     max_wrap_up_seconds?: number | string | null
>   },
>   alerts?: {
>     cc_service_level?: number | string | null,
>     cc_service_level_seconds?: number | string | null
>   },
>   friday_hours?: string[] | null,
>   group_description?: string | null,
>   hold_queue?: {
>     allow_queue_callback?: boolean | null,
>     announce_estimated_wait_time?: boolean | null,
>     announce_position?: boolean | null,
>     announcement_interval_seconds?: number | string | null,
>     estimated_wait_time_max?: number | string | null,
>     max_hold_count?: number | string | null,
>     max_hold_seconds?: number | string | null,
>     queue_callback_dtmf?: string | null,
>     queue_callback_threshold?: number | string | null,
>     queue_escape_dtmf?: string | null,
>     stay_in_queue_after_closing?: boolean | null,
>     unattended_queue?: boolean | null
>   },
>   hours_on?: boolean | null,
>   monday_hours?: string[] | null,
>   name: string,
>   office_id: number | string,
>   ring_seconds?: number | string | null,
>   routing_options?: {
>     closed: {
>       action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail,
>       action_target_id?: number | string,
>       action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user,
>       dtmf?: {
>         input?: string | null,
>         options?: {
>           action?: any,
>           action_target_id?: any,
>           action_target_type?: any
>         }
>       }[],
>       operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based,
>       try_dial_operators: boolean
>     },
>     open: {
>       action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail,
>       action_target_id?: number | string,
>       action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user,
>       dtmf?: {
>         input?: string | null,
>         options?: {
>           action?: any,
>           action_target_id?: any,
>           action_target_type?: any
>         }
>       }[],
>       operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based,
>       try_dial_operators: boolean
>     }
>   },
>   saturday_hours?: string[] | null,
>   sunday_hours?: string[] | null,
>   thursday_hours?: string[] | null,
>   tuesday_hours?: string[] | null,
>   voice_intelligence?: {
>     allow_pause?: boolean | null,
>     auto_start?: boolean | null
>   },
>   wednesday_hours?: string[] | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `advanced_settings` | `object` | No | — |
| `alerts` | `object` | No | — |
| `availability_status` | `closed \| holiday_closed \| holiday_open \| open \| string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `first_action` | `menu \| operators \| string \| null` | No | — |
| `friday_hours` | `string[] \| null` | No | — |
| `group_description` | `string \| null` | No | — |
| `hold_queue` | `object` | No | — |
| `hours_on` | `boolean \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `is_digital` | `boolean \| null` | No | — |
| `monday_hours` | `string[] \| null` | No | — |
| `name` | `string \| null` | No | — |
| `no_operators_action` | `ai_agent \| bridge_target \| call_service_target \| company_directory \| department \| directory \| disabled \| extension \| google_dialogflow \| last_name_company_directory \| last_name_directory \| menu \| message \| operator \| person \| recursive_transfer \| scripted_ivr \| voicemail \| string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `phone_numbers` | `string[] \| null` | No | — |
| `ring_seconds` | `number \| string \| null` | No | — |
| `routing_options` | `object` | No | — |
| `saturday_hours` | `string[] \| null` | No | — |
| `state` | `active \| cancelled \| deleted \| pending \| suspended \| string \| null` | No | — |
| `sunday_hours` | `string[] \| null` | No | — |
| `thursday_hours` | `string[] \| null` | No | — |
| `timezone` | `string \| null` | No | — |
| `tuesday_hours` | `string[] \| null` | No | — |
| `voice_intelligence` | `object` | No | — |
| `voicemail_notification_emails` | `string[] \| null` | No | — |
| `wednesday_hours` | `string[] \| null` | No | — |

> [accordion] advanced\_settings full type
>
> ```ts theme={null}
> {
>   auto_call_recording?: {
>     allow_pause_recording?: boolean | null,
>     call_recording_inbound?: boolean | null,
>     call_recording_outbound?: boolean | null
>   },
>   max_wrap_up_seconds?: number | string | null
> }
> ```

> [accordion] alerts full type
>
> ```ts theme={null}
> {
>   cc_service_level?: number | string | null,
>   cc_service_level_seconds?: number | string | null
> }
> ```

> [accordion] hold\_queue full type
>
> ```ts theme={null}
> {
>   allow_queue_callback?: boolean | null,
>   announce_estimated_wait_time?: boolean | null,
>   announce_position?: boolean | null,
>   announcement_interval_seconds?: number | string | null,
>   estimated_wait_time_max?: number | string | null,
>   max_hold_count?: number | string | null,
>   max_hold_seconds?: number | string | null,
>   queue_callback_dtmf?: string | null,
>   queue_callback_threshold?: number | string | null,
>   queue_escape_dtmf?: string | null,
>   stay_in_queue_after_closing?: boolean | null,
>   unattended_queue?: boolean | null
> }
> ```

> [accordion] routing\_options full type
>
> ```ts theme={null}
> {
>   closed: {
>     action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>     action_target_id?: number | string,
>     action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>     dtmf?: {
>       input?: string | null,
>       options?: {
>         action?: any,
>         action_target_id?: any,
>         action_target_type?: any
>       }
>     }[],
>     operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>     try_dial_operators: boolean
>   },
>   open: {
>     action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>     action_target_id?: number | string,
>     action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>     dtmf?: {
>       input?: string | null,
>       options?: {
>         action?: any,
>         action_target_id?: any,
>         action_target_type?: any
>       }
>     }[],
>     operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>     try_dial_operators: boolean
>   }
> }
> ```

> [accordion] voice\_intelligence full type
>
> ```ts theme={null}
> {
>   allow_pause?: boolean | null,
>   auto_start?: boolean | null
> }
> ```

***

### delete

`callcenters.delete`

Call Centers -- Delete. Deletes a call center by id. Requires a company admin API key. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.callcenters.delete({ path: {"id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `advanced_settings` | `object` | No | — |
| `alerts` | `object` | No | — |
| `availability_status` | `closed \| holiday_closed \| holiday_open \| open \| string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `first_action` | `menu \| operators \| string \| null` | No | — |
| `friday_hours` | `string[] \| null` | No | — |
| `group_description` | `string \| null` | No | — |
| `hold_queue` | `object` | No | — |
| `hours_on` | `boolean \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `is_digital` | `boolean \| null` | No | — |
| `monday_hours` | `string[] \| null` | No | — |
| `name` | `string \| null` | No | — |
| `no_operators_action` | `ai_agent \| bridge_target \| call_service_target \| company_directory \| department \| directory \| disabled \| extension \| google_dialogflow \| last_name_company_directory \| last_name_directory \| menu \| message \| operator \| person \| recursive_transfer \| scripted_ivr \| voicemail \| string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `phone_numbers` | `string[] \| null` | No | — |
| `ring_seconds` | `number \| string \| null` | No | — |
| `routing_options` | `object` | No | — |
| `saturday_hours` | `string[] \| null` | No | — |
| `state` | `active \| cancelled \| deleted \| pending \| suspended \| string \| null` | No | — |
| `sunday_hours` | `string[] \| null` | No | — |
| `thursday_hours` | `string[] \| null` | No | — |
| `timezone` | `string \| null` | No | — |
| `tuesday_hours` | `string[] \| null` | No | — |
| `voice_intelligence` | `object` | No | — |
| `voicemail_notification_emails` | `string[] \| null` | No | — |
| `wednesday_hours` | `string[] \| null` | No | — |

> [accordion] advanced\_settings full type
>
> ```ts theme={null}
> {
>   auto_call_recording?: {
>     allow_pause_recording?: boolean | null,
>     call_recording_inbound?: boolean | null,
>     call_recording_outbound?: boolean | null
>   },
>   max_wrap_up_seconds?: number | string | null
> }
> ```

> [accordion] alerts full type
>
> ```ts theme={null}
> {
>   cc_service_level?: number | string | null,
>   cc_service_level_seconds?: number | string | null
> }
> ```

> [accordion] hold\_queue full type
>
> ```ts theme={null}
> {
>   allow_queue_callback?: boolean | null,
>   announce_estimated_wait_time?: boolean | null,
>   announce_position?: boolean | null,
>   announcement_interval_seconds?: number | string | null,
>   estimated_wait_time_max?: number | string | null,
>   max_hold_count?: number | string | null,
>   max_hold_seconds?: number | string | null,
>   queue_callback_dtmf?: string | null,
>   queue_callback_threshold?: number | string | null,
>   queue_escape_dtmf?: string | null,
>   stay_in_queue_after_closing?: boolean | null,
>   unattended_queue?: boolean | null
> }
> ```

> [accordion] routing\_options full type
>
> ```ts theme={null}
> {
>   closed: {
>     action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>     action_target_id?: number | string,
>     action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>     dtmf?: {
>       input?: string | null,
>       options?: {
>         action?: any,
>         action_target_id?: any,
>         action_target_type?: any
>       }
>     }[],
>     operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>     try_dial_operators: boolean
>   },
>   open: {
>     action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>     action_target_id?: number | string,
>     action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>     dtmf?: {
>       input?: string | null,
>       options?: {
>         action?: any,
>         action_target_id?: any,
>         action_target_type?: any
>       }
>     }[],
>     operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>     try_dial_operators: boolean
>   }
> }
> ```

> [accordion] voice\_intelligence full type
>
> ```ts theme={null}
> {
>   allow_pause?: boolean | null,
>   auto_start?: boolean | null
> }
> ```

***

### get

`callcenters.get`

Call Centers -- Get. Gets a call center by id. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.callcenters.get({ path: {"id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `advanced_settings` | `object` | No | — |
| `alerts` | `object` | No | — |
| `availability_status` | `closed \| holiday_closed \| holiday_open \| open \| string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `first_action` | `menu \| operators \| string \| null` | No | — |
| `friday_hours` | `string[] \| null` | No | — |
| `group_description` | `string \| null` | No | — |
| `hold_queue` | `object` | No | — |
| `hours_on` | `boolean \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `is_digital` | `boolean \| null` | No | — |
| `monday_hours` | `string[] \| null` | No | — |
| `name` | `string \| null` | No | — |
| `no_operators_action` | `ai_agent \| bridge_target \| call_service_target \| company_directory \| department \| directory \| disabled \| extension \| google_dialogflow \| last_name_company_directory \| last_name_directory \| menu \| message \| operator \| person \| recursive_transfer \| scripted_ivr \| voicemail \| string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `phone_numbers` | `string[] \| null` | No | — |
| `ring_seconds` | `number \| string \| null` | No | — |
| `routing_options` | `object` | No | — |
| `saturday_hours` | `string[] \| null` | No | — |
| `state` | `active \| cancelled \| deleted \| pending \| suspended \| string \| null` | No | — |
| `sunday_hours` | `string[] \| null` | No | — |
| `thursday_hours` | `string[] \| null` | No | — |
| `timezone` | `string \| null` | No | — |
| `tuesday_hours` | `string[] \| null` | No | — |
| `voice_intelligence` | `object` | No | — |
| `voicemail_notification_emails` | `string[] \| null` | No | — |
| `wednesday_hours` | `string[] \| null` | No | — |

> [accordion] advanced\_settings full type
>
> ```ts theme={null}
> {
>   auto_call_recording?: {
>     allow_pause_recording?: boolean | null,
>     call_recording_inbound?: boolean | null,
>     call_recording_outbound?: boolean | null
>   },
>   max_wrap_up_seconds?: number | string | null
> }
> ```

> [accordion] alerts full type
>
> ```ts theme={null}
> {
>   cc_service_level?: number | string | null,
>   cc_service_level_seconds?: number | string | null
> }
> ```

> [accordion] hold\_queue full type
>
> ```ts theme={null}
> {
>   allow_queue_callback?: boolean | null,
>   announce_estimated_wait_time?: boolean | null,
>   announce_position?: boolean | null,
>   announcement_interval_seconds?: number | string | null,
>   estimated_wait_time_max?: number | string | null,
>   max_hold_count?: number | string | null,
>   max_hold_seconds?: number | string | null,
>   queue_callback_dtmf?: string | null,
>   queue_callback_threshold?: number | string | null,
>   queue_escape_dtmf?: string | null,
>   stay_in_queue_after_closing?: boolean | null,
>   unattended_queue?: boolean | null
> }
> ```

> [accordion] routing\_options full type
>
> ```ts theme={null}
> {
>   closed: {
>     action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>     action_target_id?: number | string,
>     action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>     dtmf?: {
>       input?: string | null,
>       options?: {
>         action?: any,
>         action_target_id?: any,
>         action_target_type?: any
>       }
>     }[],
>     operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>     try_dial_operators: boolean
>   },
>   open: {
>     action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>     action_target_id?: number | string,
>     action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>     dtmf?: {
>       input?: string | null,
>       options?: {
>         action?: any,
>         action_target_id?: any,
>         action_target_type?: any
>       }
>     }[],
>     operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>     try_dial_operators: boolean
>   }
> }
> ```

> [accordion] voice\_intelligence full type
>
> ```ts theme={null}
> {
>   allow_pause?: boolean | null,
>   auto_start?: boolean | null
> }
> ```

***

### get\_status

`callcenters.get_status`

Call Centers -- Status. Get live operational metrics for a call center: availability status, available operator count, queued calls, longest wait time, and on-duty operator count. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.callcenters.get_status({ path: {"id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `availability` | `object` | Yes | — |
| `capacity` | `number \| string` | Yes | — |
| `longest_call_wait_time` | `number \| string` | Yes | — |
| `on_duty_operators` | `number \| string` | Yes | — |
| `pending` | `number \| string` | Yes | — |

> [accordion] availability full type
>
> ```ts theme={null}
> {
>   name?: string | null,
>   status: string
> }
> ```

***

### list

`callcenters.list`

Call Centers -- List. Gets all the call centers for an office. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.callcenters.list({ path: {"office_id":1}, query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `query` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   office_id: number | string
> }
> ```

> [accordion] query full type
>
> ```ts theme={null}
> {
>   cursor?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   advanced_settings?: {
>     auto_call_recording?: {
>       allow_pause_recording?: boolean | null,
>       call_recording_inbound?: boolean | null,
>       call_recording_outbound?: boolean | null
>     },
>     max_wrap_up_seconds?: number | string | null
>   },
>   alerts?: {
>     cc_service_level?: number | string | null,
>     cc_service_level_seconds?: number | string | null
>   },
>   availability_status?: closed | holiday_closed | holiday_open | open | string | null,
>   country?: string | null,
>   first_action?: menu | operators | string | null,
>   friday_hours?: string[] | null,
>   group_description?: string | null,
>   hold_queue?: {
>     allow_queue_callback?: boolean | null,
>     announce_estimated_wait_time?: boolean | null,
>     announce_position?: boolean | null,
>     announcement_interval_seconds?: number | string | null,
>     estimated_wait_time_max?: number | string | null,
>     max_hold_count?: number | string | null,
>     max_hold_seconds?: number | string | null,
>     queue_callback_dtmf?: string | null,
>     queue_callback_threshold?: number | string | null,
>     queue_escape_dtmf?: string | null,
>     stay_in_queue_after_closing?: boolean | null,
>     unattended_queue?: boolean | null
>   },
>   hours_on?: boolean | null,
>   id?: number | string | null,
>   is_digital?: boolean | null,
>   monday_hours?: string[] | null,
>   name?: string | null,
>   no_operators_action?: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string | null,
>   office_id?: number | string | null,
>   phone_numbers?: string[] | null,
>   ring_seconds?: number | string | null,
>   routing_options?: {
>     closed: {
>       action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>       action_target_id?: number | string,
>       action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>       dtmf?: any[],
>       operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>       try_dial_operators: boolean
>     },
>     open: {
>       action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>       action_target_id?: number | string,
>       action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>       dtmf?: any[],
>       operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>       try_dial_operators: boolean
>     }
>   },
>   saturday_hours?: string[] | null,
>   state?: active | cancelled | deleted | pending | suspended | string | null,
>   sunday_hours?: string[] | null,
>   thursday_hours?: string[] | null,
>   timezone?: string | null,
>   tuesday_hours?: string[] | null,
>   voice_intelligence?: {
>     allow_pause?: boolean | null,
>     auto_start?: boolean | null
>   },
>   voicemail_notification_emails?: string[] | null,
>   wednesday_hours?: string[] | null
> }[] | null
> ```

***

### listall

`callcenters.listall`

Call Centers -- List. Gets all the call centers for the company. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.callcenters.listall({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   cursor?: string,
>   include_alerts?: boolean,
>   office_id?: number | string,
>   name_search?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   advanced_settings?: {
>     auto_call_recording?: {
>       allow_pause_recording?: boolean | null,
>       call_recording_inbound?: boolean | null,
>       call_recording_outbound?: boolean | null
>     },
>     max_wrap_up_seconds?: number | string | null
>   },
>   alerts?: {
>     cc_service_level?: number | string | null,
>     cc_service_level_seconds?: number | string | null
>   },
>   availability_status?: closed | holiday_closed | holiday_open | open | string | null,
>   country?: string | null,
>   first_action?: menu | operators | string | null,
>   friday_hours?: string[] | null,
>   group_description?: string | null,
>   hold_queue?: {
>     allow_queue_callback?: boolean | null,
>     announce_estimated_wait_time?: boolean | null,
>     announce_position?: boolean | null,
>     announcement_interval_seconds?: number | string | null,
>     estimated_wait_time_max?: number | string | null,
>     max_hold_count?: number | string | null,
>     max_hold_seconds?: number | string | null,
>     queue_callback_dtmf?: string | null,
>     queue_callback_threshold?: number | string | null,
>     queue_escape_dtmf?: string | null,
>     stay_in_queue_after_closing?: boolean | null,
>     unattended_queue?: boolean | null
>   },
>   hours_on?: boolean | null,
>   id?: number | string | null,
>   is_digital?: boolean | null,
>   monday_hours?: string[] | null,
>   name?: string | null,
>   no_operators_action?: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string | null,
>   office_id?: number | string | null,
>   phone_numbers?: string[] | null,
>   ring_seconds?: number | string | null,
>   routing_options?: {
>     closed: {
>       action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>       action_target_id?: number | string,
>       action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>       dtmf?: any[],
>       operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>       try_dial_operators: boolean
>     },
>     open: {
>       action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>       action_target_id?: number | string,
>       action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>       dtmf?: any[],
>       operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>       try_dial_operators: boolean
>     }
>   },
>   saturday_hours?: string[] | null,
>   state?: active | cancelled | deleted | pending | suspended | string | null,
>   sunday_hours?: string[] | null,
>   thursday_hours?: string[] | null,
>   timezone?: string | null,
>   tuesday_hours?: string[] | null,
>   voice_intelligence?: {
>     allow_pause?: boolean | null,
>     auto_start?: boolean | null
>   },
>   voicemail_notification_emails?: string[] | null,
>   wednesday_hours?: string[] | null
> }[] | null
> ```

***

### operators.add

`callcenters.operators.add`

Operator -- Add. Adds an operator to a call center. > Warning > > This API may result in the usage of call center licenses if required and available. If the licenses are required and not available the operation will fail. Licenses are required when adding an operator that does not have a call center license. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.callcenters.operators.add({ path: {"id":1}, body: {"user_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   keep_paid_numbers?: boolean | null,
>   license_type?: agents | lite_support_agents | null,
>   role?: admin | operator | supervisor | null,
>   skill_level?: number | string | null,
>   user_id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `number \| string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `image_url` | `string \| null` | No | — |
| `is_on_duty` | `boolean \| null` | No | — |
| `name` | `string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `phone_numbers` | `string[] \| null` | No | — |
| `state` | `active \| cancelled \| deleted \| pending \| suspended \| string \| null` | No | — |

***

### operators.delete

`callcenters.operators.delete`

Operator -- Remove. Removes an operator from a call center. Note: This API will not change or release any licenses. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.callcenters.operators.delete({ path: {"id":1}, body: {"user_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   user_id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `number \| string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `image_url` | `string \| null` | No | — |
| `is_on_duty` | `boolean \| null` | No | — |
| `name` | `string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `phone_numbers` | `string[] \| null` | No | — |
| `state` | `active \| cancelled \| deleted \| pending \| suspended \| string \| null` | No | — |

***

### operators.get\_duty\_status

`callcenters.operators.get_duty_status`

Operator -- Get Duty Status. Gets the operator's on duty status and reason. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.callcenters.operators.get_duty_status({ path: {"id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `duty_status_reason` | `string \| null` | No | — |
| `duty_status_started` | `number \| string \| null` | No | — |
| `on_duty` | `boolean \| null` | No | — |
| `on_duty_started` | `number \| string \| null` | No | — |
| `on_duty_status` | `available \| busy \| occupied \| occupied-end \| unavailable \| wrapup \| wrapup-end \| string \| null` | No | — |
| `session_type` | `call \| digital \| string \| null` | No | — |
| `user_id` | `number \| string \| null` | No | — |

***

### operators.get\_skill\_level

`callcenters.operators.get_skill_level`

Operator -- Get Skill Level. Gets the skill level of an operator within a call center. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.callcenters.operators.get_skill_level({ path: {"call_center_id":1,"user_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   call_center_id: number | string,
>   user_id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `call_center_id` | `number \| string \| null` | No | — |
| `skill_level` | `number \| string \| null` | No | — |
| `user_id` | `number \| string \| null` | No | — |

***

### operators.list

`callcenters.operators.list`

Operators -- List. List all operators (users and rooms) assigned to a call center. Returns operator names, roles, and on-duty status. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.callcenters.operators.list({ path: {"id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `rooms` | `object[] \| null` | No | — |
| `users` | `object[] \| null` | No | — |

> [accordion] rooms full type
>
> ```ts theme={null}
> {
>   company_id?: number | string | null,
>   country?: string | null,
>   id?: number | string | null,
>   image_url?: string | null,
>   is_free?: boolean | null,
>   is_on_duty?: boolean | null,
>   name?: string | null,
>   office_id?: number | string | null,
>   phone_numbers?: string[] | null,
>   state?: active | cancelled | deleted | pending | suspended | string | null
> }[] | null
> ```

> [accordion] users full type
>
> ```ts theme={null}
> {
>   admin_office_ids?: (number | string)[] | null,
>   company_id?: number | string | null,
>   country?: string | null,
>   date_active?: string | null,
>   date_added?: string | null,
>   date_first_login?: string | null,
>   date_last_login?: string,
>   display_name?: string | null,
>   do_not_disturb?: boolean | null,
>   duty_status_reason?: string | null,
>   duty_status_started?: string | null,
>   emails?: string[] | null,
>   extension?: string | null,
>   first_name?: string | null,
>   forwarding_numbers?: string[] | null,
>   group_details?: {
>     do_not_disturb?: boolean | null,
>     group_id?: number | string | null,
>     group_type?: callcenter | callrouter | channel | coachinggroup | coachingteam | department | office | room | staffgroup | unknown | user | string | null,
>     role?: admin | operator | supervisor | string | null
>   }[] | null,
>   id?: number | string | null,
>   image_url?: string | null,
>   international_dialing_enabled?: boolean | null,
>   is_admin?: boolean | null,
>   is_available?: boolean | null,
>   is_company_admin?: boolean | null,
>   is_on_duty?: boolean | null,
>   is_online?: boolean | null,
>   is_super_admin?: boolean | null,
>   job_title?: string | null,
>   language?: string | null,
>   last_name?: string | null,
>   license?: admins | agents | dpde_all | dpde_one | lite_lines | lite_support_agents | magenta_lines | talk | user | string | null,
>   location?: string | null,
>   muted?: boolean | null,
>   office_id?: number | string | null,
>   on_duty_started?: string | null,
>   on_duty_status?: available | busy | occupied | occupied-end | unavailable | wrapup | wrapup-end | string | null,
>   onboarding_completed: boolean,
>   phone_numbers?: string[] | null,
>   remote_service?: string | null,
>   session_type?: call | digital | string | null,
>   state?: active | cancelled | deleted | pending | suspended | string | null,
>   status_message?: string | null,
>   timezone?: string | null,
>   voicemail: {
>     is_default_voicemail?: boolean,
>     name?: string | null,
>     voicemail_notifications_enabled?: boolean
>   }
> }[] | null
> ```

***

### operators.update\_duty\_status

`callcenters.operators.update_duty_status`

Operator -- Update Duty Status. Updates the operator's duty status for all call centers which user belongs to. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.callcenters.operators.update_duty_status({ path: {"id":1}, body: {"on_duty":false} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   duty_status_reason?: string | null,
>   on_duty: boolean
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `duty_status_reason` | `string \| null` | No | — |
| `duty_status_started` | `number \| string \| null` | No | — |
| `on_duty` | `boolean \| null` | No | — |
| `on_duty_started` | `number \| string \| null` | No | — |
| `on_duty_status` | `available \| busy \| occupied \| occupied-end \| unavailable \| wrapup \| wrapup-end \| string \| null` | No | — |
| `session_type` | `call \| digital \| string \| null` | No | — |
| `user_id` | `number \| string \| null` | No | — |

***

### operators.update\_skill\_level

`callcenters.operators.update_skill_level`

Operator -- Update Skill Level. Updates the skill level of an operator within a call center. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.callcenters.operators.update_skill_level({ path: {"call_center_id":1,"user_id":1}, body: {"skill_level":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   call_center_id: number | string,
>   user_id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   skill_level: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `call_center_id` | `number \| string \| null` | No | — |
| `skill_level` | `number \| string \| null` | No | — |
| `user_id` | `number \| string \| null` | No | — |

***

### queue.list

`callcenters.queue.list`

Call Centers -- Queue. List the calls and callbacks currently waiting in a call center's queue, ordered oldest-queued first. Includes calls that are ringing an operator but not yet answered. Rate limit: 30 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.callcenters.queue.list({ path: {"id":1}, query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `query` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] query full type
>
> ```ts theme={null}
> {
>   cursor?: string,
>   limit?: number | string,
>   compact?: boolean
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[]` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   date_created?: string | null,
>   date_parked?: string | null,
>   date_queued?: string | null,
>   group_type?: string | null,
>   has_assigned_operators?: boolean | null,
>   id: string,
>   parent_type: string,
>   state?: string | null,
>   target_id?: string | null
> }[]
> ```

***

### update

`callcenters.update`

Call Centers -- Update. Updates a call center by id. Requires a company admin API key. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.callcenters.update({ path: {"id":1}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   advanced_settings?: {
>     auto_call_recording?: {
>       allow_pause_recording?: boolean | null,
>       call_recording_inbound?: boolean | null,
>       call_recording_outbound?: boolean | null
>     },
>     max_wrap_up_seconds?: number | string | null
>   },
>   alerts?: {
>     cc_service_level?: number | string | null,
>     cc_service_level_seconds?: number | string | null
>   },
>   friday_hours?: string[] | null,
>   group_description?: string | null,
>   hold_queue?: {
>     allow_queue_callback?: boolean | null,
>     announce_estimated_wait_time?: boolean | null,
>     announce_position?: boolean | null,
>     announcement_interval_seconds?: number | string | null,
>     estimated_wait_time_max?: number | string | null,
>     max_hold_count?: number | string | null,
>     max_hold_seconds?: number | string | null,
>     queue_callback_dtmf?: string | null,
>     queue_callback_threshold?: number | string | null,
>     queue_escape_dtmf?: string | null,
>     stay_in_queue_after_closing?: boolean | null,
>     unattended_queue?: boolean | null
>   },
>   hours_on?: boolean | null,
>   monday_hours?: string[] | null,
>   name?: string | null,
>   ring_seconds?: number | string | null,
>   routing_options?: {
>     closed: {
>       action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail,
>       action_target_id?: number | string,
>       action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user,
>       dtmf?: {
>         input?: string | null,
>         options?: {
>           action?: any,
>           action_target_id?: any,
>           action_target_type?: any
>         }
>       }[],
>       operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based,
>       try_dial_operators: boolean
>     },
>     open: {
>       action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail,
>       action_target_id?: number | string,
>       action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user,
>       dtmf?: {
>         input?: string | null,
>         options?: {
>           action?: any,
>           action_target_id?: any,
>           action_target_type?: any
>         }
>       }[],
>       operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based,
>       try_dial_operators: boolean
>     }
>   },
>   saturday_hours?: string[] | null,
>   sunday_hours?: string[] | null,
>   thursday_hours?: string[] | null,
>   tuesday_hours?: string[] | null,
>   voice_intelligence?: {
>     allow_pause?: boolean | null,
>     auto_start?: boolean | null
>   },
>   wednesday_hours?: string[] | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `advanced_settings` | `object` | No | — |
| `alerts` | `object` | No | — |
| `availability_status` | `closed \| holiday_closed \| holiday_open \| open \| string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `first_action` | `menu \| operators \| string \| null` | No | — |
| `friday_hours` | `string[] \| null` | No | — |
| `group_description` | `string \| null` | No | — |
| `hold_queue` | `object` | No | — |
| `hours_on` | `boolean \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `is_digital` | `boolean \| null` | No | — |
| `monday_hours` | `string[] \| null` | No | — |
| `name` | `string \| null` | No | — |
| `no_operators_action` | `ai_agent \| bridge_target \| call_service_target \| company_directory \| department \| directory \| disabled \| extension \| google_dialogflow \| last_name_company_directory \| last_name_directory \| menu \| message \| operator \| person \| recursive_transfer \| scripted_ivr \| voicemail \| string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `phone_numbers` | `string[] \| null` | No | — |
| `ring_seconds` | `number \| string \| null` | No | — |
| `routing_options` | `object` | No | — |
| `saturday_hours` | `string[] \| null` | No | — |
| `state` | `active \| cancelled \| deleted \| pending \| suspended \| string \| null` | No | — |
| `sunday_hours` | `string[] \| null` | No | — |
| `thursday_hours` | `string[] \| null` | No | — |
| `timezone` | `string \| null` | No | — |
| `tuesday_hours` | `string[] \| null` | No | — |
| `voice_intelligence` | `object` | No | — |
| `voicemail_notification_emails` | `string[] \| null` | No | — |
| `wednesday_hours` | `string[] \| null` | No | — |

> [accordion] advanced\_settings full type
>
> ```ts theme={null}
> {
>   auto_call_recording?: {
>     allow_pause_recording?: boolean | null,
>     call_recording_inbound?: boolean | null,
>     call_recording_outbound?: boolean | null
>   },
>   max_wrap_up_seconds?: number | string | null
> }
> ```

> [accordion] alerts full type
>
> ```ts theme={null}
> {
>   cc_service_level?: number | string | null,
>   cc_service_level_seconds?: number | string | null
> }
> ```

> [accordion] hold\_queue full type
>
> ```ts theme={null}
> {
>   allow_queue_callback?: boolean | null,
>   announce_estimated_wait_time?: boolean | null,
>   announce_position?: boolean | null,
>   announcement_interval_seconds?: number | string | null,
>   estimated_wait_time_max?: number | string | null,
>   max_hold_count?: number | string | null,
>   max_hold_seconds?: number | string | null,
>   queue_callback_dtmf?: string | null,
>   queue_callback_threshold?: number | string | null,
>   queue_escape_dtmf?: string | null,
>   stay_in_queue_after_closing?: boolean | null,
>   unattended_queue?: boolean | null
> }
> ```

> [accordion] routing\_options full type
>
> ```ts theme={null}
> {
>   closed: {
>     action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>     action_target_id?: number | string,
>     action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>     dtmf?: {
>       input?: string | null,
>       options?: {
>         action?: any,
>         action_target_id?: any,
>         action_target_type?: any
>       }
>     }[],
>     operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>     try_dial_operators: boolean
>   },
>   open: {
>     action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>     action_target_id?: number | string,
>     action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>     dtmf?: {
>       input?: string | null,
>       options?: {
>         action?: any,
>         action_target_id?: any,
>         action_target_type?: any
>       }
>     }[],
>     operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>     try_dial_operators: boolean
>   }
> }
> ```

> [accordion] voice\_intelligence full type
>
> ```ts theme={null}
> {
>   allow_pause?: boolean | null,
>   auto_start?: boolean | null
> }
> ```

***

## Caller Id

### users.get

`caller_id.users.get`

Caller ID -- Get. List all available Caller IDs and the active Caller ID for a given user ID Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.caller_id.users.get({ path: {"id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `caller_id` | `string \| null` | No | — |
| `forwarding_numbers` | `string[] \| null` | No | — |
| `groups` | `object[] \| null` | No | — |
| `id` | `number \| string` | Yes | — |
| `office_main_line` | `string \| null` | No | — |
| `phone_numbers` | `string[] \| null` | No | — |
| `primary_phone` | `string \| null` | No | — |

> [accordion] groups full type
>
> ```ts theme={null}
> {
>   caller_id?: string | null,
>   display_name?: string | null
> }[] | null
> ```

***

## Callrouters

### create

`callrouters.create`

Call Router -- Create. Creates a new API-based call router. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.callrouters.create({ body: {"default_target_id":1,"default_target_type":"callcenter","name":"sample-value","office_id":1,"routing_url":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   default_target_id: number | string,
>   default_target_type: callcenter | callrouter | channel | coachinggroup | coachingteam | department | office | room | staffgroup | unknown | user,
>   enabled?: boolean | null,
>   name: string,
>   office_id: number | string,
>   routing_url: string,
>   secret?: string | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `default_target_id` | `number \| string \| null` | No | — |
| `default_target_type` | `callcenter \| callrouter \| channel \| coachinggroup \| coachingteam \| department \| office \| room \| staffgroup \| unknown \| user \| string \| null` | No | — |
| `enabled` | `boolean \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `name` | `string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `phone_numbers` | `string[] \| null` | No | — |
| `routing_url` | `string \| null` | No | — |
| `signature` | `object` | No | — |

> [accordion] signature full type
>
> ```ts theme={null}
> {
>   algo?: string | null,
>   secret?: string | null,
>   type?: string | null
> }
> ```

***

### delete

`callrouters.delete`

Call Router -- Delete. Deletes the API call router with the given ID. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.callrouters.delete({ path: {"id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

**Output:** `any`

***

### get

`callrouters.get`

Call Router -- Get. Gets the API call router with the given ID. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.callrouters.get({ path: {"id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `default_target_id` | `number \| string \| null` | No | — |
| `default_target_type` | `callcenter \| callrouter \| channel \| coachinggroup \| coachingteam \| department \| office \| room \| staffgroup \| unknown \| user \| string \| null` | No | — |
| `enabled` | `boolean \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `name` | `string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `phone_numbers` | `string[] \| null` | No | — |
| `routing_url` | `string \| null` | No | — |
| `signature` | `object` | No | — |

> [accordion] signature full type
>
> ```ts theme={null}
> {
>   algo?: string | null,
>   secret?: string | null,
>   type?: string | null
> }
> ```

***

### list

`callrouters.list`

Call Router -- List. Lists all of the API call routers for a given company or office. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.callrouters.list({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   cursor?: string,
>   office_id?: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   default_target_id?: number | string | null,
>   default_target_type?: callcenter | callrouter | channel | coachinggroup | coachingteam | department | office | room | staffgroup | unknown | user | string | null,
>   enabled?: boolean | null,
>   id?: number | string | null,
>   name?: string | null,
>   office_id?: number | string | null,
>   phone_numbers?: string[] | null,
>   routing_url?: string | null,
>   signature?: {
>     algo?: string | null,
>     secret?: string | null,
>     type?: string | null
>   }
> }[] | null
> ```

***

### update

`callrouters.update`

Call Router -- Update. Updates the API call router with the given ID. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.callrouters.update({ path: {"id":"sample-value"}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   default_target_id?: number | string | null,
>   default_target_type?: callcenter | callrouter | channel | coachinggroup | coachingteam | department | office | room | staffgroup | unknown | user | null,
>   enabled?: boolean | null,
>   name?: string | null,
>   office_id?: number | string | null,
>   reset_error_count?: boolean | null,
>   routing_url?: string | null,
>   secret?: string | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `default_target_id` | `number \| string \| null` | No | — |
| `default_target_type` | `callcenter \| callrouter \| channel \| coachinggroup \| coachingteam \| department \| office \| room \| staffgroup \| unknown \| user \| string \| null` | No | — |
| `enabled` | `boolean \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `name` | `string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `phone_numbers` | `string[] \| null` | No | — |
| `routing_url` | `string \| null` | No | — |
| `signature` | `object` | No | — |

> [accordion] signature full type
>
> ```ts theme={null}
> {
>   algo?: string | null,
>   secret?: string | null,
>   type?: string | null
> }
> ```

***

## Channels

### create

`channels.create`

Channel -- Create. Creates a new channel. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.channels.create({ body: {"description":"sample-value","name":"sample-value","privacy_type":"private"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   description: string,
>   name: string,
>   privacy_type: private | public,
>   user_id?: number | string | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `hashtag` | `string \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `member_count` | `number \| string \| null` | No | — |
| `name` | `string` | Yes | — |
| `office_id` | `number \| string \| null` | No | — |
| `privacy` | `private \| public \| string \| null` | No | — |

***

### delete

`channels.delete`

Channel -- Delete. Deletes a channel by id. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.channels.delete({ path: {"id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

**Output:** `any`

***

### get

`channels.get`

Channel -- Get. Get channel by id Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.channels.get({ path: {"id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `hashtag` | `string \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `member_count` | `number \| string \| null` | No | — |
| `name` | `string` | Yes | — |
| `office_id` | `number \| string \| null` | No | — |
| `privacy` | `private \| public \| string \| null` | No | — |

***

### list

`channels.list`

Channel -- List. Lists all channels in the company. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.channels.list({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   cursor?: string,
>   state?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   hashtag?: string | null,
>   id?: number | string | null,
>   member_count?: number | string | null,
>   name: string,
>   office_id?: number | string | null,
>   privacy?: private | public | string | null
> }[] | null
> ```

***

### members.add

`channels.members.add`

Member -- Add. Adds a user to a channel. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.channels.members.add({ path: {"id":1}, body: {"user_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   user_id: number | string
> }
> ```

**Output**

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

***

### members.delete

`channels.members.delete`

Member -- Remove. Removes a member from a channel. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.channels.members.delete({ path: {"id":1}, body: {"user_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   user_id: number | string
> }
> ```

**Output:** `any`

***

### members.list

`channels.members.list`

Members -- List. List all the members from a channel Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.channels.members.list({ path: {"id":1}, query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `query` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] query full type
>
> ```ts theme={null}
> {
>   cursor?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   id?: number | string | null,
>   name?: string | null
> }[] | null
> ```

***

## Coaching Team

### get

`coaching_team.get`

Coaching Team -- Get. Get details of a specified coaching team. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.coaching_team.get({ path: {"id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `allow_trainee_eavesdrop` | `boolean \| null` | No | — |
| `company_id` | `number \| string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `name` | `string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `phone_numbers` | `string[] \| null` | No | — |
| `ring_seconds` | `number \| string \| null` | No | — |
| `state` | `active \| cancelled \| deleted \| pending \| suspended \| string \| null` | No | — |
| `team_description` | `string \| null` | No | — |

***

### list

`coaching_team.list`

Coaching Team -- List. Get a list of coaching teams of a office. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.coaching_team.list({ path: {"office_id":1}, query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `query` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   office_id: number | string
> }
> ```

> [accordion] query full type
>
> ```ts theme={null}
> {
>   cursor?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   allow_trainee_eavesdrop?: boolean | null,
>   company_id?: number | string | null,
>   country?: string | null,
>   id?: number | string | null,
>   name?: string | null,
>   office_id?: number | string | null,
>   phone_numbers?: string[] | null,
>   ring_seconds?: number | string | null,
>   state?: active | cancelled | deleted | pending | suspended | string | null,
>   team_description?: string | null
> }[] | null
> ```

***

### listall

`coaching_team.listall`

Coaching Team -- List. Get a list of all coaching teams in the company. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.coaching_team.listall({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   cursor?: string,
>   office_id?: number | string,
>   name_search?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   allow_trainee_eavesdrop?: boolean | null,
>   company_id?: number | string | null,
>   country?: string | null,
>   id?: number | string | null,
>   name?: string | null,
>   office_id?: number | string | null,
>   phone_numbers?: string[] | null,
>   ring_seconds?: number | string | null,
>   state?: active | cancelled | deleted | pending | suspended | string | null,
>   team_description?: string | null
> }[] | null
> ```

***

### members.add

`coaching_team.members.add`

Coaching Team -- Add Member. Add a user to the specified coaching team as trainee or coach. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.coaching_team.members.add({ path: {"id":1}, body: {"member_id":"sample-value","role":"coach"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   member_id: string,
>   role: coach | trainee
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `accept_powerdialer_calls` | `boolean \| null` | No | — |
| `admin_office_ids` | `(number \| string)[] \| null` | No | — |
| `company_id` | `number \| string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `date_active` | `string \| null` | No | — |
| `date_added` | `string \| null` | No | — |
| `date_first_login` | `string \| null` | No | — |
| `do_not_disturb` | `boolean \| null` | No | — |
| `emails` | `string[] \| null` | No | — |
| `extension` | `string \| null` | No | — |
| `first_name` | `string \| null` | No | — |
| `forwarding_numbers` | `string[] \| null` | No | — |
| `id` | `number \| string` | Yes | — |
| `image_url` | `string \| null` | No | — |
| `is_admin` | `boolean \| null` | No | — |
| `is_available` | `boolean \| null` | No | — |
| `is_on_duty` | `boolean \| null` | No | — |
| `is_online` | `boolean \| null` | No | — |
| `is_super_admin` | `boolean \| null` | No | — |
| `job_title` | `string \| null` | No | — |
| `language` | `string \| null` | No | — |
| `last_name` | `string \| null` | No | — |
| `license` | `admins \| agents \| dpde_all \| dpde_one \| lite_lines \| lite_support_agents \| magenta_lines \| talk \| user \| string \| null` | No | — |
| `location` | `string \| null` | No | — |
| `muted` | `boolean \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `phone_numbers` | `string[] \| null` | No | — |
| `role` | `coach \| trainee \| string` | Yes | — |
| `state` | `active \| cancelled \| deleted \| pending \| suspended \| string \| null` | No | — |
| `status_message` | `string \| null` | No | — |
| `timezone` | `string \| null` | No | — |

***

### members.get

`coaching_team.members.get`

Coaching Team -- List Members. List all members of a coaching team with their roles (coach or trainee), contact info, and availability status. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.coaching_team.members.get({ path: {"id":1}, query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `query` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] query full type
>
> ```ts theme={null}
> {
>   available?: boolean,
>   role?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   accept_powerdialer_calls?: boolean | null,
>   admin_office_ids?: (number | string)[] | null,
>   company_id?: number | string | null,
>   country?: string | null,
>   date_active?: string | null,
>   date_added?: string | null,
>   date_first_login?: string | null,
>   do_not_disturb?: boolean | null,
>   emails?: string[] | null,
>   extension?: string | null,
>   first_name?: string | null,
>   forwarding_numbers?: string[] | null,
>   id: number | string,
>   image_url?: string | null,
>   is_admin?: boolean | null,
>   is_available?: boolean | null,
>   is_on_duty?: boolean | null,
>   is_online?: boolean | null,
>   is_super_admin?: boolean | null,
>   job_title?: string | null,
>   language?: string | null,
>   last_name?: string | null,
>   license?: admins | agents | dpde_all | dpde_one | lite_lines | lite_support_agents | magenta_lines | talk | user | string | null,
>   location?: string | null,
>   muted?: boolean | null,
>   office_id?: number | string | null,
>   phone_numbers?: string[] | null,
>   role: coach | trainee | string,
>   state?: active | cancelled | deleted | pending | suspended | string | null,
>   status_message?: string | null,
>   timezone?: string | null
> }[] | null
> ```

***

## Company

### get

`company.get`

Company -- Get. Gets company information: name, primary office, admin contact, plan state and billing address. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.company.get({  });
```

**Input:** *empty object*

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `account_type` | `enterprise \| free \| pro \| standard \| string \| null` | No | — |
| `admin_email` | `string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `domain` | `string \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `name` | `string \| null` | No | — |
| `office_count` | `number \| string \| null` | No | — |
| `settings` | `object` | No | — |
| `state` | `active \| cancelled \| deleted \| pending \| suspended \| string \| null` | No | — |

> [accordion] settings full type
>
> ```ts theme={null}
> {
>   allow_ai_training?: boolean | null,
>   has_callai?: boolean | null
> }
> ```

***

### get\_ai\_settings

`company.get_ai_settings`

Company -- Get AI Settings. Gets the company-level AI settings: whether Call AI is enabled and whether the company allows its data to be used for AI training. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.company.get_ai_settings({  });
```

**Input:** *empty object*

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `allow_ai_training` | `boolean \| null` | No | — |
| `enable_ai` | `boolean \| null` | No | — |

***

### sms\_opt\_out

`company.sms_opt_out`

Company -- Get SMS Opt-out List. Lists the external phone numbers that have opted out of (or back in to) SMS from this company, filtered by opt-out state and optionally by A2P campaign. Use this before sending SMS to confirm a recipient has not opted out. Requires a company admin API key. Rate limit: 250 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.company.sms_opt_out({ path: {"id":"sample-value"}, query: {"opt_out_state":"opted_back_in"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `query` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

> [accordion] query full type
>
> ```ts theme={null}
> {
>   a2p_campaign_id?: number | string,
>   cursor?: string,
>   opt_out_state: opted_back_in | opted_out
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   date?: number | string | null,
>   external_endpoint: string,
>   opt_out_scope_info?: {
>     opt_out_scope_level: a2p_campaign | company | string,
>     scope_id: number | string
>   },
>   opt_out_state: opted_back_in | opted_out | string
> }[] | null
> ```

***

### update

`company.update`

Company -- Update. Updates the company's name. For a company with a single office, the office is renamed too. Only an admin of the company acting as a user can call this: a missing user credential gets a 401, and a user who is not an admin of this company gets a 403. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.company.update({ body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   name?: string | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `account_type` | `enterprise \| free \| pro \| standard \| string \| null` | No | — |
| `admin_email` | `string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `domain` | `string \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `name` | `string \| null` | No | — |
| `office_count` | `number \| string \| null` | No | — |
| `settings` | `object` | No | — |
| `state` | `active \| cancelled \| deleted \| pending \| suspended \| string \| null` | No | — |

> [accordion] settings full type
>
> ```ts theme={null}
> {
>   allow_ai_training?: boolean | null,
>   has_callai?: boolean | null
> }
> ```

***

### update\_ai\_settings

`company.update_ai_settings`

Company -- Update AI Settings. Updates the company-level AI settings, and syncs the change to the enterprise the same way the admin portal does. Settings that are omitted are left unchanged, and a setting cannot be cleared, so an explicit null is rejected with a 400, as is a request that sets nothing. A company-level API key can call this without a user credential. Any other caller must be a company admin, the admin of a single-office company, or have write access to AI settings: a missing user credential gets a 401, and any other caller gets a 403. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.company.update_ai_settings({ body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   allow_ai_training?: boolean | null,
>   enable_ai?: boolean | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `allow_ai_training` | `boolean \| null` | No | — |
| `enable_ai` | `boolean \| null` | No | — |

***

### update\_settings

`company.update_settings`

Company -- Update Settings. Updates company settings. Requires a company admin API key. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.company.update_settings({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   has_callai?: boolean
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `account_type` | `enterprise \| free \| pro \| standard \| string \| null` | No | — |
| `admin_email` | `string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `domain` | `string \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `name` | `string \| null` | No | — |
| `office_count` | `number \| string \| null` | No | — |
| `settings` | `object` | No | — |
| `state` | `active \| cancelled \| deleted \| pending \| suspended \| string \| null` | No | — |

> [accordion] settings full type
>
> ```ts theme={null}
> {
>   allow_ai_training?: boolean | null,
>   has_callai?: boolean | null
> }
> ```

***

## Contacts

### create

`contacts.create`

Contact -- Create. Creates a new contact. Rate limit: 100 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.contacts.create({ body: {"first_name":"sample-value","last_name":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   company_name?: string | null,
>   emails?: string[] | null,
>   extension?: string | null,
>   first_name: string,
>   job_title?: string | null,
>   last_name: string,
>   owner_id?: string | null,
>   phones?: string[] | null,
>   trunk_group?: string | null,
>   urls?: string[] | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_name` | `string \| null` | No | — |
| `display_name` | `string \| null` | No | — |
| `emails` | `string[] \| null` | No | — |
| `extension` | `string \| null` | No | — |
| `first_name` | `string \| null` | No | — |
| `id` | `string \| null` | No | — |
| `job_title` | `string \| null` | No | — |
| `last_name` | `string \| null` | No | — |
| `owner_id` | `string \| null` | No | — |
| `phones` | `string[] \| null` | No | — |
| `primary_email` | `string \| null` | No | — |
| `primary_phone` | `string \| null` | No | — |
| `trunk_group` | `string \| null` | No | — |
| `type` | `lead \| local \| shared \| string \| null` | No | — |
| `urls` | `string[] \| null` | No | — |

***

### create\_with\_uid

`contacts.create_with_uid`

Contact -- Create or Update. Creates a new shared contact with uid. Rate limit: 100 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.contacts.create_with_uid({ body: {"first_name":"sample-value","last_name":"sample-value","uid":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   company_name?: string | null,
>   emails?: string[] | null,
>   extension?: string | null,
>   first_name: string,
>   job_title?: string | null,
>   last_name: string,
>   phones?: string[] | null,
>   trunk_group?: string | null,
>   uid: string,
>   urls?: string[] | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_name` | `string \| null` | No | — |
| `display_name` | `string \| null` | No | — |
| `emails` | `string[] \| null` | No | — |
| `extension` | `string \| null` | No | — |
| `first_name` | `string \| null` | No | — |
| `id` | `string \| null` | No | — |
| `job_title` | `string \| null` | No | — |
| `last_name` | `string \| null` | No | — |
| `owner_id` | `string \| null` | No | — |
| `phones` | `string[] \| null` | No | — |
| `primary_email` | `string \| null` | No | — |
| `primary_phone` | `string \| null` | No | — |
| `trunk_group` | `string \| null` | No | — |
| `type` | `lead \| local \| shared \| string \| null` | No | — |
| `urls` | `string[] \| null` | No | — |

***

### delete

`contacts.delete`

Contact -- Delete. Deletes a contact by id. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.contacts.delete({ path: {"id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_name` | `string \| null` | No | — |
| `display_name` | `string \| null` | No | — |
| `emails` | `string[] \| null` | No | — |
| `extension` | `string \| null` | No | — |
| `first_name` | `string \| null` | No | — |
| `id` | `string \| null` | No | — |
| `job_title` | `string \| null` | No | — |
| `last_name` | `string \| null` | No | — |
| `owner_id` | `string \| null` | No | — |
| `phones` | `string[] \| null` | No | — |
| `primary_email` | `string \| null` | No | — |
| `primary_phone` | `string \| null` | No | — |
| `trunk_group` | `string \| null` | No | — |
| `type` | `lead \| local \| shared \| string \| null` | No | — |
| `urls` | `string[] \| null` | No | — |

***

### get

`contacts.get`

Contact -- Get. Gets a contact by id. Currently, only contacts of type shared and local can be retrieved by this API. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.contacts.get({ path: {"id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_name` | `string \| null` | No | — |
| `display_name` | `string \| null` | No | — |
| `emails` | `string[] \| null` | No | — |
| `extension` | `string \| null` | No | — |
| `first_name` | `string \| null` | No | — |
| `id` | `string \| null` | No | — |
| `job_title` | `string \| null` | No | — |
| `last_name` | `string \| null` | No | — |
| `owner_id` | `string \| null` | No | — |
| `phones` | `string[] \| null` | No | — |
| `primary_email` | `string \| null` | No | — |
| `primary_phone` | `string \| null` | No | — |
| `trunk_group` | `string \| null` | No | — |
| `type` | `lead \| local \| shared \| string \| null` | No | — |
| `urls` | `string[] \| null` | No | — |

***

### list

`contacts.list`

Contact -- List. Gets company shared contacts, or user's local contacts if owner\_id is provided. NOTE: The `limit` parameter has been soft-deprecated. Please omit the `limit` parameter, or reduce it to `100` or less. - Limit values of greater than `100` will only produce a page size of `100`, and a `400 Bad Request` response will be produced 20% of the time in an effort to raise visibility of side-effects that might otherwise go un-noticed by solutions that had assumed a larger page size. - The `cursor` value is provided in the response, and can be passed as a parameter to retrieve subsequent pages of results. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.contacts.list({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   name?: string,
>   cursor?: string,
>   include_local?: boolean,
>   owner_id?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   company_name?: string | null,
>   display_name?: string | null,
>   emails?: string[] | null,
>   extension?: string | null,
>   first_name?: string | null,
>   id?: string | null,
>   job_title?: string | null,
>   last_name?: string | null,
>   owner_id?: string | null,
>   phones?: string[] | null,
>   primary_email?: string | null,
>   primary_phone?: string | null,
>   trunk_group?: string | null,
>   type?: lead | local | shared | string | null,
>   urls?: string[] | null
> }[] | null
> ```

***

### search

`contacts.search`

Contact -- Search. Searches local, shared, and lead contacts the API key may read within its company. All filters must match (AND). Contacts sharing an identifier are returned separately. Results may lag behind updates. A short or empty page may still include a next-page cursor. Empty items and external\_ids are omitted. The cursor is omitted when the search is complete. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.contacts.search({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   phone?: string,
>   email?: string,
>   name?: string,
>   group_key?: string,
>   external_id?: string,
>   external_service?: string,
>   limit?: number | string,
>   cursor?: string,
>   external_scope?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[]` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   company_name?: string | null,
>   display_name?: string | null,
>   emails?: string[] | null,
>   extension?: string | null,
>   external_ids?: {
>     id: string,
>     scope: string,
>     service: string
>   }[],
>   first_name?: string | null,
>   id?: string | null,
>   job_title?: string | null,
>   last_name?: string | null,
>   owner_id?: string | null,
>   phones?: string[] | null,
>   primary_email?: string | null,
>   primary_phone?: string | null,
>   trunk_group?: string | null,
>   type?: lead | local | shared | string | null,
>   urls?: string[] | null
> }[]
> ```

***

### update

`contacts.update`

Contact -- Update. Updates the provided fields for an existing contact. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.contacts.update({ path: {"id":"sample-value"}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   company_name?: string | null,
>   emails?: string[] | null,
>   extension?: string | null,
>   first_name?: string | null,
>   job_title?: string | null,
>   last_name?: string | null,
>   phones?: string[] | null,
>   trunk_group?: string | null,
>   urls?: string[] | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_name` | `string \| null` | No | — |
| `display_name` | `string \| null` | No | — |
| `emails` | `string[] \| null` | No | — |
| `extension` | `string \| null` | No | — |
| `first_name` | `string \| null` | No | — |
| `id` | `string \| null` | No | — |
| `job_title` | `string \| null` | No | — |
| `last_name` | `string \| null` | No | — |
| `owner_id` | `string \| null` | No | — |
| `phones` | `string[] \| null` | No | — |
| `primary_email` | `string \| null` | No | — |
| `primary_phone` | `string \| null` | No | — |
| `trunk_group` | `string \| null` | No | — |
| `type` | `lead \| local \| shared \| string \| null` | No | — |
| `urls` | `string[] \| null` | No | — |

***

## Custom Ivrs

### list

`custom_ivrs.list`

Custom IVR -- List. Lists the custom IVR recordings configured on a target, such as greetings, hold music and menu prompts. A target can have many IVRs of different types, so pass ivr\_type to narrow the results to one kind. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.custom_ivrs.list({ query: {"target_type":"callcenter","target_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | Yes | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   cursor?: string,
>   ivr_type?: ADMIN_AUTO_RECORDING | ASK_FIRST_OPERATOR_NOT_AVAILABLE | AUTO_RECORDING | CALLAI_AUTO_RECORDING | CALLAI_AUTO_RECORDING_INBOUND | CALLAI_AUTO_RECORDING_OUTBOUND | CALLAI_TOGGLE_DISABLED | CALLAI_TOGGLE_ENABLED | CG_AUTO_RECORDING | CLOSED | CLOSED_DEPARTMENT_INTRO | CLOSED_MENU | CLOSED_MENU_OPTION | CSAT_INTRO | CSAT_OUTRO | CSAT_PREAMBLE | CSAT_QUESTION | DEPARTMENT_INTRO | GREETING | HOLD_AGENT_READY | HOLD_APPREC | HOLD_CALLBACK_ACCEPT | HOLD_CALLBACK_ACCEPTED | HOLD_CALLBACK_CONFIRM | HOLD_CALLBACK_CONFIRM_NUMBER | HOLD_CALLBACK_DIFFERENT_NUMBER | HOLD_CALLBACK_DIRECT | HOLD_CALLBACK_FULFILLED | HOLD_CALLBACK_INVALID_NUMBER | HOLD_CALLBACK_KEYPAD | HOLD_CALLBACK_REJECT | HOLD_CALLBACK_REJECTED | HOLD_CALLBACK_REQUEST | HOLD_CALLBACK_REQUESTED | HOLD_CALLBACK_SAME_NUMBER | HOLD_CALLBACK_TRY_AGAIN | HOLD_CALLBACK_UNDIALABLE | HOLD_ESCAPE_VM_EIGHT | HOLD_ESCAPE_VM_FIVE | HOLD_ESCAPE_VM_FOUR | HOLD_ESCAPE_VM_NINE | HOLD_ESCAPE_VM_ONE | HOLD_ESCAPE_VM_POUND | HOLD_ESCAPE_VM_SEVEN | HOLD_ESCAPE_VM_SIX | HOLD_ESCAPE_VM_STAR | HOLD_ESCAPE_VM_TEN | HOLD_ESCAPE_VM_THREE | HOLD_ESCAPE_VM_TWO | HOLD_ESCAPE_VM_ZERO | HOLD_ESTIMATED_WAIT_TIME | HOLD_INTERRUPT | HOLD_INTRO | HOLD_MUSIC | HOLD_POSITION_EIGHT | HOLD_POSITION_FIVE | HOLD_POSITION_FOUR | HOLD_POSITION_MORE | HOLD_POSITION_NINE | HOLD_POSITION_ONE | HOLD_POSITION_SEVEN | HOLD_POSITION_SIX | HOLD_POSITION_TEN | HOLD_POSITION_THREE | HOLD_POSITION_TWO | HOLD_POSITION_ZERO | HOLD_WAIT | INCOMING_CALL_FROM_GROUP | MENU | MENU_OPTION | NEXT_TARGET | POWER_DIALER_CALL_GREETING | POWER_DIALER_VM_DROP | PREFERRED_OPERATOR_PROMPT | VM_DROP_MESSAGE | VM_UNAVAILABLE | VM_UNAVAILABLE_CLOSED,
>   target_type: callcenter | callrouter | channel | coachinggroup | coachingteam | department | office | room | staffgroup | unknown | user,
>   target_id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   ivr_type?: ADMIN_AUTO_RECORDING | ASK_FIRST_OPERATOR_NOT_AVAILABLE | AUTO_RECORDING | CALLAI_AUTO_RECORDING | CALLAI_AUTO_RECORDING_INBOUND | CALLAI_AUTO_RECORDING_OUTBOUND | CALLAI_TOGGLE_DISABLED | CALLAI_TOGGLE_ENABLED | CG_AUTO_RECORDING | CLOSED | CLOSED_DEPARTMENT_INTRO | CLOSED_MENU | CLOSED_MENU_OPTION | CSAT_INTRO | CSAT_OUTRO | CSAT_PREAMBLE | CSAT_QUESTION | DEPARTMENT_INTRO | GREETING | HOLD_AGENT_READY | HOLD_APPREC | HOLD_CALLBACK_ACCEPT | HOLD_CALLBACK_ACCEPTED | HOLD_CALLBACK_CONFIRM | HOLD_CALLBACK_CONFIRM_NUMBER | HOLD_CALLBACK_DIFFERENT_NUMBER | HOLD_CALLBACK_DIRECT | HOLD_CALLBACK_FULFILLED | HOLD_CALLBACK_INVALID_NUMBER | HOLD_CALLBACK_KEYPAD | HOLD_CALLBACK_REJECT | HOLD_CALLBACK_REJECTED | HOLD_CALLBACK_REQUEST | HOLD_CALLBACK_REQUESTED | HOLD_CALLBACK_SAME_NUMBER | HOLD_CALLBACK_TRY_AGAIN | HOLD_CALLBACK_UNDIALABLE | HOLD_ESCAPE_VM_EIGHT | HOLD_ESCAPE_VM_FIVE | HOLD_ESCAPE_VM_FOUR | HOLD_ESCAPE_VM_NINE | HOLD_ESCAPE_VM_ONE | HOLD_ESCAPE_VM_POUND | HOLD_ESCAPE_VM_SEVEN | HOLD_ESCAPE_VM_SIX | HOLD_ESCAPE_VM_STAR | HOLD_ESCAPE_VM_TEN | HOLD_ESCAPE_VM_THREE | HOLD_ESCAPE_VM_TWO | HOLD_ESCAPE_VM_ZERO | HOLD_ESTIMATED_WAIT_TIME | HOLD_INTERRUPT | HOLD_INTRO | HOLD_MUSIC | HOLD_POSITION_EIGHT | HOLD_POSITION_FIVE | HOLD_POSITION_FOUR | HOLD_POSITION_MORE | HOLD_POSITION_NINE | HOLD_POSITION_ONE | HOLD_POSITION_SEVEN | HOLD_POSITION_SIX | HOLD_POSITION_TEN | HOLD_POSITION_THREE | HOLD_POSITION_TWO | HOLD_POSITION_ZERO | HOLD_WAIT | INCOMING_CALL_FROM_GROUP | MENU | MENU_OPTION | NEXT_TARGET | POWER_DIALER_CALL_GREETING | POWER_DIALER_VM_DROP | PREFERRED_OPERATOR_PROMPT | VM_DROP_MESSAGE | VM_UNAVAILABLE | VM_UNAVAILABLE_CLOSED | string | null,
>   ivrs?: {
>     date_added?: number | string | null,
>     description?: string | null,
>     id?: number | string | null,
>     name?: string | null,
>     selected?: boolean | null,
>     text?: string | null
>   }[] | null
> }[] | null
> ```

***

## Departments

### create

`departments.create`

Departments -- Create. Create a new department in the specified office. Requires name and office\_id. Requires a company admin API key. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.departments.create({ body: {"name":"sample-value","office_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   auto_call_recording?: boolean | null,
>   friday_hours?: string[] | null,
>   group_description?: string | null,
>   hold_queue?: {
>     allow_queuing?: boolean | null,
>     max_hold_count?: number | string | null,
>     max_hold_seconds?: number | string | null
>   },
>   hours_on?: boolean | null,
>   monday_hours?: string[] | null,
>   name: string,
>   office_id: number | string,
>   ring_seconds?: number | string | null,
>   routing_options?: {
>     closed: {
>       action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail,
>       action_target_id?: number | string,
>       action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user,
>       dtmf?: {
>         input?: string | null,
>         options?: {
>           action?: any,
>           action_target_id?: any,
>           action_target_type?: any
>         }
>       }[],
>       operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based,
>       try_dial_operators: boolean
>     },
>     open: {
>       action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail,
>       action_target_id?: number | string,
>       action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user,
>       dtmf?: {
>         input?: string | null,
>         options?: {
>           action?: any,
>           action_target_id?: any,
>           action_target_type?: any
>         }
>       }[],
>       operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based,
>       try_dial_operators: boolean
>     }
>   },
>   saturday_hours?: string[] | null,
>   sunday_hours?: string[] | null,
>   thursday_hours?: string[] | null,
>   tuesday_hours?: string[] | null,
>   voice_intelligence?: {
>     allow_pause?: boolean | null,
>     auto_start?: boolean | null
>   },
>   wednesday_hours?: string[] | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `auto_call_recording` | `boolean \| null` | No | — |
| `availability_status` | `closed \| holiday_closed \| holiday_open \| open \| string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `first_action` | `menu \| operators \| string \| null` | No | — |
| `friday_hours` | `string[] \| null` | No | — |
| `group_description` | `string \| null` | No | — |
| `hold_queue` | `object` | No | — |
| `hours_on` | `boolean \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `monday_hours` | `string[] \| null` | No | — |
| `name` | `string \| null` | No | — |
| `no_operators_action` | `ai_agent \| bridge_target \| call_service_target \| company_directory \| department \| directory \| disabled \| extension \| google_dialogflow \| last_name_company_directory \| last_name_directory \| menu \| message \| operator \| person \| recursive_transfer \| scripted_ivr \| voicemail \| string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `phone_numbers` | `string[] \| null` | No | — |
| `ring_seconds` | `number \| string \| null` | No | — |
| `routing_options` | `object` | No | — |
| `saturday_hours` | `string[] \| null` | No | — |
| `state` | `active \| cancelled \| deleted \| pending \| suspended \| string \| null` | No | — |
| `sunday_hours` | `string[] \| null` | No | — |
| `thursday_hours` | `string[] \| null` | No | — |
| `timezone` | `string \| null` | No | — |
| `tuesday_hours` | `string[] \| null` | No | — |
| `voice_intelligence` | `object` | No | — |
| `voicemail_notification_emails` | `string[] \| null` | No | — |
| `wednesday_hours` | `string[] \| null` | No | — |

> [accordion] hold\_queue full type
>
> ```ts theme={null}
> {
>   allow_queuing?: boolean | null,
>   max_hold_count?: number | string | null,
>   max_hold_seconds?: number | string | null
> }
> ```

> [accordion] routing\_options full type
>
> ```ts theme={null}
> {
>   closed: {
>     action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>     action_target_id?: number | string,
>     action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>     dtmf?: {
>       input?: string | null,
>       options?: {
>         action?: any,
>         action_target_id?: any,
>         action_target_type?: any
>       }
>     }[],
>     operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>     try_dial_operators: boolean
>   },
>   open: {
>     action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>     action_target_id?: number | string,
>     action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>     dtmf?: {
>       input?: string | null,
>       options?: {
>         action?: any,
>         action_target_id?: any,
>         action_target_type?: any
>       }
>     }[],
>     operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>     try_dial_operators: boolean
>   }
> }
> ```

> [accordion] voice\_intelligence full type
>
> ```ts theme={null}
> {
>   allow_pause?: boolean | null,
>   auto_start?: boolean | null
> }
> ```

***

### delete

`departments.delete`

Departments -- Delete. Permanently delete a department. This removes the department and all its configuration. Cannot be undone. Requires a company admin API key. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.departments.delete({ path: {"id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `auto_call_recording` | `boolean \| null` | No | — |
| `availability_status` | `closed \| holiday_closed \| holiday_open \| open \| string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `first_action` | `menu \| operators \| string \| null` | No | — |
| `friday_hours` | `string[] \| null` | No | — |
| `group_description` | `string \| null` | No | — |
| `hold_queue` | `object` | No | — |
| `hours_on` | `boolean \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `monday_hours` | `string[] \| null` | No | — |
| `name` | `string \| null` | No | — |
| `no_operators_action` | `ai_agent \| bridge_target \| call_service_target \| company_directory \| department \| directory \| disabled \| extension \| google_dialogflow \| last_name_company_directory \| last_name_directory \| menu \| message \| operator \| person \| recursive_transfer \| scripted_ivr \| voicemail \| string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `phone_numbers` | `string[] \| null` | No | — |
| `ring_seconds` | `number \| string \| null` | No | — |
| `routing_options` | `object` | No | — |
| `saturday_hours` | `string[] \| null` | No | — |
| `state` | `active \| cancelled \| deleted \| pending \| suspended \| string \| null` | No | — |
| `sunday_hours` | `string[] \| null` | No | — |
| `thursday_hours` | `string[] \| null` | No | — |
| `timezone` | `string \| null` | No | — |
| `tuesday_hours` | `string[] \| null` | No | — |
| `voice_intelligence` | `object` | No | — |
| `voicemail_notification_emails` | `string[] \| null` | No | — |
| `wednesday_hours` | `string[] \| null` | No | — |

> [accordion] hold\_queue full type
>
> ```ts theme={null}
> {
>   allow_queuing?: boolean | null,
>   max_hold_count?: number | string | null,
>   max_hold_seconds?: number | string | null
> }
> ```

> [accordion] routing\_options full type
>
> ```ts theme={null}
> {
>   closed: {
>     action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>     action_target_id?: number | string,
>     action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>     dtmf?: {
>       input?: string | null,
>       options?: {
>         action?: any,
>         action_target_id?: any,
>         action_target_type?: any
>       }
>     }[],
>     operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>     try_dial_operators: boolean
>   },
>   open: {
>     action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>     action_target_id?: number | string,
>     action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>     dtmf?: {
>       input?: string | null,
>       options?: {
>         action?: any,
>         action_target_id?: any,
>         action_target_type?: any
>       }
>     }[],
>     operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>     try_dial_operators: boolean
>   }
> }
> ```

> [accordion] voice\_intelligence full type
>
> ```ts theme={null}
> {
>   allow_pause?: boolean | null,
>   auto_start?: boolean | null
> }
> ```

***

### get

`departments.get`

Department -- Get. Gets a department by id. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.departments.get({ path: {"id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `auto_call_recording` | `boolean \| null` | No | — |
| `availability_status` | `closed \| holiday_closed \| holiday_open \| open \| string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `first_action` | `menu \| operators \| string \| null` | No | — |
| `friday_hours` | `string[] \| null` | No | — |
| `group_description` | `string \| null` | No | — |
| `hold_queue` | `object` | No | — |
| `hours_on` | `boolean \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `monday_hours` | `string[] \| null` | No | — |
| `name` | `string \| null` | No | — |
| `no_operators_action` | `ai_agent \| bridge_target \| call_service_target \| company_directory \| department \| directory \| disabled \| extension \| google_dialogflow \| last_name_company_directory \| last_name_directory \| menu \| message \| operator \| person \| recursive_transfer \| scripted_ivr \| voicemail \| string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `phone_numbers` | `string[] \| null` | No | — |
| `ring_seconds` | `number \| string \| null` | No | — |
| `routing_options` | `object` | No | — |
| `saturday_hours` | `string[] \| null` | No | — |
| `state` | `active \| cancelled \| deleted \| pending \| suspended \| string \| null` | No | — |
| `sunday_hours` | `string[] \| null` | No | — |
| `thursday_hours` | `string[] \| null` | No | — |
| `timezone` | `string \| null` | No | — |
| `tuesday_hours` | `string[] \| null` | No | — |
| `voice_intelligence` | `object` | No | — |
| `voicemail_notification_emails` | `string[] \| null` | No | — |
| `wednesday_hours` | `string[] \| null` | No | — |

> [accordion] hold\_queue full type
>
> ```ts theme={null}
> {
>   allow_queuing?: boolean | null,
>   max_hold_count?: number | string | null,
>   max_hold_seconds?: number | string | null
> }
> ```

> [accordion] routing\_options full type
>
> ```ts theme={null}
> {
>   closed: {
>     action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>     action_target_id?: number | string,
>     action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>     dtmf?: {
>       input?: string | null,
>       options?: {
>         action?: any,
>         action_target_id?: any,
>         action_target_type?: any
>       }
>     }[],
>     operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>     try_dial_operators: boolean
>   },
>   open: {
>     action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>     action_target_id?: number | string,
>     action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>     dtmf?: {
>       input?: string | null,
>       options?: {
>         action?: any,
>         action_target_id?: any,
>         action_target_type?: any
>       }
>     }[],
>     operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>     try_dial_operators: boolean
>   }
> }
> ```

> [accordion] voice\_intelligence full type
>
> ```ts theme={null}
> {
>   allow_pause?: boolean | null,
>   auto_start?: boolean | null
> }
> ```

***

### list

`departments.list`

Department -- List. Gets all the departments for an office. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.departments.list({ path: {"office_id":1}, query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `query` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   office_id: number | string
> }
> ```

> [accordion] query full type
>
> ```ts theme={null}
> {
>   cursor?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   auto_call_recording?: boolean | null,
>   availability_status?: closed | holiday_closed | holiday_open | open | string | null,
>   country?: string | null,
>   first_action?: menu | operators | string | null,
>   friday_hours?: string[] | null,
>   group_description?: string | null,
>   hold_queue?: {
>     allow_queuing?: boolean | null,
>     max_hold_count?: number | string | null,
>     max_hold_seconds?: number | string | null
>   },
>   hours_on?: boolean | null,
>   id?: number | string | null,
>   monday_hours?: string[] | null,
>   name?: string | null,
>   no_operators_action?: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string | null,
>   office_id?: number | string | null,
>   phone_numbers?: string[] | null,
>   ring_seconds?: number | string | null,
>   routing_options?: {
>     closed: {
>       action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>       action_target_id?: number | string,
>       action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>       dtmf?: any[],
>       operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>       try_dial_operators: boolean
>     },
>     open: {
>       action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>       action_target_id?: number | string,
>       action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>       dtmf?: any[],
>       operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>       try_dial_operators: boolean
>     }
>   },
>   saturday_hours?: string[] | null,
>   state?: active | cancelled | deleted | pending | suspended | string | null,
>   sunday_hours?: string[] | null,
>   thursday_hours?: string[] | null,
>   timezone?: string | null,
>   tuesday_hours?: string[] | null,
>   voice_intelligence?: {
>     allow_pause?: boolean | null,
>     auto_start?: boolean | null
>   },
>   voicemail_notification_emails?: string[] | null,
>   wednesday_hours?: string[] | null
> }[] | null
> ```

***

### listall

`departments.listall`

Department -- List. Gets all the departments in the company. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.departments.listall({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   cursor?: string,
>   office_id?: number | string,
>   name_search?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   auto_call_recording?: boolean | null,
>   availability_status?: closed | holiday_closed | holiday_open | open | string | null,
>   country?: string | null,
>   first_action?: menu | operators | string | null,
>   friday_hours?: string[] | null,
>   group_description?: string | null,
>   hold_queue?: {
>     allow_queuing?: boolean | null,
>     max_hold_count?: number | string | null,
>     max_hold_seconds?: number | string | null
>   },
>   hours_on?: boolean | null,
>   id?: number | string | null,
>   monday_hours?: string[] | null,
>   name?: string | null,
>   no_operators_action?: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string | null,
>   office_id?: number | string | null,
>   phone_numbers?: string[] | null,
>   ring_seconds?: number | string | null,
>   routing_options?: {
>     closed: {
>       action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>       action_target_id?: number | string,
>       action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>       dtmf?: any[],
>       operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>       try_dial_operators: boolean
>     },
>     open: {
>       action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>       action_target_id?: number | string,
>       action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>       dtmf?: any[],
>       operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>       try_dial_operators: boolean
>     }
>   },
>   saturday_hours?: string[] | null,
>   state?: active | cancelled | deleted | pending | suspended | string | null,
>   sunday_hours?: string[] | null,
>   thursday_hours?: string[] | null,
>   timezone?: string | null,
>   tuesday_hours?: string[] | null,
>   voice_intelligence?: {
>     allow_pause?: boolean | null,
>     auto_start?: boolean | null
>   },
>   voicemail_notification_emails?: string[] | null,
>   wednesday_hours?: string[] | null
> }[] | null
> ```

***

### operators.add

`departments.operators.add`

Operator -- Add. Add a user or room as an operator to a department. Specify operator\_type (user or room) and optional role (operator or admin). Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.departments.operators.add({ path: {"id":1}, body: {"operator_id":1,"operator_type":"room"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   operator_id: number | string,
>   operator_type: room | user,
>   role?: admin | operator | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `number \| string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `image_url` | `string \| null` | No | — |
| `is_on_duty` | `boolean \| null` | No | — |
| `name` | `string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `phone_numbers` | `string[] \| null` | No | — |
| `state` | `active \| cancelled \| deleted \| pending \| suspended \| string \| null` | No | — |

***

### operators.delete

`departments.operators.delete`

Operator -- Remove. Remove an operator (user or room) from a department. Specify operator\_id and operator\_type. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.departments.operators.delete({ path: {"id":1}, body: {"operator_id":1,"operator_type":"room"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   operator_id: number | string,
>   operator_type: room | user
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `number \| string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `image_url` | `string \| null` | No | — |
| `is_on_duty` | `boolean \| null` | No | — |
| `name` | `string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `phone_numbers` | `string[] \| null` | No | — |
| `state` | `active \| cancelled \| deleted \| pending \| suspended \| string \| null` | No | — |

***

### operators.list

`departments.operators.list`

Operator -- List. List all operators (users and rooms) assigned to a department. Returns operator names, roles, and on-duty status. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.departments.operators.list({ path: {"id":1}, query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `query` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] query full type
>
> ```ts theme={null}
> {
>   on_duty?: boolean,
>   role?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `rooms` | `object[] \| null` | No | — |
| `users` | `object[] \| null` | No | — |

> [accordion] rooms full type
>
> ```ts theme={null}
> {
>   company_id?: number | string | null,
>   country?: string | null,
>   id?: number | string | null,
>   image_url?: string | null,
>   is_free?: boolean | null,
>   is_on_duty?: boolean | null,
>   name?: string | null,
>   office_id?: number | string | null,
>   phone_numbers?: string[] | null,
>   state?: active | cancelled | deleted | pending | suspended | string | null
> }[] | null
> ```

> [accordion] users full type
>
> ```ts theme={null}
> {
>   admin_office_ids?: (number | string)[] | null,
>   company_id?: number | string | null,
>   country?: string | null,
>   date_active?: string | null,
>   date_added?: string | null,
>   date_first_login?: string | null,
>   date_last_login?: string,
>   display_name?: string | null,
>   do_not_disturb?: boolean | null,
>   duty_status_reason?: string | null,
>   duty_status_started?: string | null,
>   emails?: string[] | null,
>   extension?: string | null,
>   first_name?: string | null,
>   forwarding_numbers?: string[] | null,
>   group_details?: {
>     do_not_disturb?: boolean | null,
>     group_id?: number | string | null,
>     group_type?: callcenter | callrouter | channel | coachinggroup | coachingteam | department | office | room | staffgroup | unknown | user | string | null,
>     role?: admin | operator | supervisor | string | null
>   }[] | null,
>   id?: number | string | null,
>   image_url?: string | null,
>   international_dialing_enabled?: boolean | null,
>   is_admin?: boolean | null,
>   is_available?: boolean | null,
>   is_company_admin?: boolean | null,
>   is_on_duty?: boolean | null,
>   is_online?: boolean | null,
>   is_super_admin?: boolean | null,
>   job_title?: string | null,
>   language?: string | null,
>   last_name?: string | null,
>   license?: admins | agents | dpde_all | dpde_one | lite_lines | lite_support_agents | magenta_lines | talk | user | string | null,
>   location?: string | null,
>   muted?: boolean | null,
>   office_id?: number | string | null,
>   on_duty_started?: string | null,
>   on_duty_status?: available | busy | occupied | occupied-end | unavailable | wrapup | wrapup-end | string | null,
>   onboarding_completed: boolean,
>   phone_numbers?: string[] | null,
>   remote_service?: string | null,
>   session_type?: call | digital | string | null,
>   state?: active | cancelled | deleted | pending | suspended | string | null,
>   status_message?: string | null,
>   timezone?: string | null,
>   voicemail: {
>     is_default_voicemail?: boolean,
>     name?: string | null,
>     voicemail_notifications_enabled?: boolean
>   }
> }[] | null
> ```

***

### update

`departments.update`

Departments -- Update. Updates an existing department. Requires a company admin API key. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.departments.update({ path: {"id":1}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   auto_call_recording?: boolean | null,
>   friday_hours?: string[] | null,
>   group_description?: string | null,
>   hold_queue?: {
>     allow_queuing?: boolean | null,
>     max_hold_count?: number | string | null,
>     max_hold_seconds?: number | string | null
>   },
>   hours_on?: boolean | null,
>   monday_hours?: string[] | null,
>   name?: string | null,
>   ring_seconds?: number | string | null,
>   routing_options?: {
>     closed: {
>       action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail,
>       action_target_id?: number | string,
>       action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user,
>       dtmf?: {
>         input?: string | null,
>         options?: {
>           action?: any,
>           action_target_id?: any,
>           action_target_type?: any
>         }
>       }[],
>       operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based,
>       try_dial_operators: boolean
>     },
>     open: {
>       action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail,
>       action_target_id?: number | string,
>       action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user,
>       dtmf?: {
>         input?: string | null,
>         options?: {
>           action?: any,
>           action_target_id?: any,
>           action_target_type?: any
>         }
>       }[],
>       operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based,
>       try_dial_operators: boolean
>     }
>   },
>   saturday_hours?: string[] | null,
>   sunday_hours?: string[] | null,
>   thursday_hours?: string[] | null,
>   tuesday_hours?: string[] | null,
>   voice_intelligence?: {
>     allow_pause?: boolean | null,
>     auto_start?: boolean | null
>   },
>   wednesday_hours?: string[] | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `auto_call_recording` | `boolean \| null` | No | — |
| `availability_status` | `closed \| holiday_closed \| holiday_open \| open \| string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `first_action` | `menu \| operators \| string \| null` | No | — |
| `friday_hours` | `string[] \| null` | No | — |
| `group_description` | `string \| null` | No | — |
| `hold_queue` | `object` | No | — |
| `hours_on` | `boolean \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `monday_hours` | `string[] \| null` | No | — |
| `name` | `string \| null` | No | — |
| `no_operators_action` | `ai_agent \| bridge_target \| call_service_target \| company_directory \| department \| directory \| disabled \| extension \| google_dialogflow \| last_name_company_directory \| last_name_directory \| menu \| message \| operator \| person \| recursive_transfer \| scripted_ivr \| voicemail \| string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `phone_numbers` | `string[] \| null` | No | — |
| `ring_seconds` | `number \| string \| null` | No | — |
| `routing_options` | `object` | No | — |
| `saturday_hours` | `string[] \| null` | No | — |
| `state` | `active \| cancelled \| deleted \| pending \| suspended \| string \| null` | No | — |
| `sunday_hours` | `string[] \| null` | No | — |
| `thursday_hours` | `string[] \| null` | No | — |
| `timezone` | `string \| null` | No | — |
| `tuesday_hours` | `string[] \| null` | No | — |
| `voice_intelligence` | `object` | No | — |
| `voicemail_notification_emails` | `string[] \| null` | No | — |
| `wednesday_hours` | `string[] \| null` | No | — |

> [accordion] hold\_queue full type
>
> ```ts theme={null}
> {
>   allow_queuing?: boolean | null,
>   max_hold_count?: number | string | null,
>   max_hold_seconds?: number | string | null
> }
> ```

> [accordion] routing\_options full type
>
> ```ts theme={null}
> {
>   closed: {
>     action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>     action_target_id?: number | string,
>     action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>     dtmf?: {
>       input?: string | null,
>       options?: {
>         action?: any,
>         action_target_id?: any,
>         action_target_type?: any
>       }
>     }[],
>     operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>     try_dial_operators: boolean
>   },
>   open: {
>     action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>     action_target_id?: number | string,
>     action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>     dtmf?: {
>       input?: string | null,
>       options?: {
>         action?: any,
>         action_target_id?: any,
>         action_target_type?: any
>       }
>     }[],
>     operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>     try_dial_operators: boolean
>   }
> }
> ```

> [accordion] voice\_intelligence full type
>
> ```ts theme={null}
> {
>   allow_pause?: boolean | null,
>   auto_start?: boolean | null
> }
> ```

***

## Deskphones

### rooms.create\_international\_pin

`deskphones.rooms.create_international_pin`

Room Phone -- Assign PIN. Assigns a PIN for making international calls from rooms When PIN protected international calls are enabled for the company, a PIN is required to make international calls from room phones. Requires a company admin API key. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.deskphones.rooms.create_international_pin({ body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   customer_ref?: string | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `customer_ref` | `string \| null` | No | — |
| `expires_on` | `string \| null` | No | — |
| `pin` | `string \| null` | No | — |

***

### rooms.delete

`deskphones.rooms.delete`

Room Phone -- Delete. Deletes a room desk phone by id. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.deskphones.rooms.delete({ path: {"id":"sample-value","parent_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string,
>   parent_id: number | string
> }
> ```

**Output:** `any`

***

### rooms.get

`deskphones.rooms.get`

Room Phone -- Get. Gets a room desk phone by id. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.deskphones.rooms.get({ path: {"id":"sample-value","parent_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string,
>   parent_id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `byod` | `boolean \| null` | No | — |
| `device_model` | `string \| null` | No | — |
| `firmware_version` | `string \| null` | No | — |
| `id` | `string \| null` | No | — |
| `mac_address` | `string \| null` | No | — |
| `name` | `string \| null` | No | — |
| `owner_id` | `number \| string \| null` | No | — |
| `owner_type` | `room \| user \| string \| null` | No | — |
| `password` | `string \| null` | No | — |
| `phone_number` | `string \| null` | No | — |
| `port` | `number \| string \| null` | No | — |
| `realm` | `string \| null` | No | — |
| `ring_notification` | `boolean \| null` | No | — |
| `sip_transport_type` | `tls \| string \| null` | No | — |
| `type` | `ata \| audiocodes \| c2t \| ciscompp \| dect \| dpmroom \| grandstream \| mini \| mitel \| obi \| polyandroid \| polycom \| polyedgee \| sip \| tickiot \| yealink \| string \| null` | No | — |

***

### rooms.list

`deskphones.rooms.list`

Room Phone -- List. Gets all desk phones under a room. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.deskphones.rooms.list({ path: {"parent_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   parent_id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   byod?: boolean | null,
>   device_model?: string | null,
>   firmware_version?: string | null,
>   id?: string | null,
>   mac_address?: string | null,
>   name?: string | null,
>   owner_id?: number | string | null,
>   owner_type?: room | user | string | null,
>   password?: string | null,
>   phone_number?: string | null,
>   port?: number | string | null,
>   realm?: string | null,
>   ring_notification?: boolean | null,
>   sip_transport_type?: tls | string | null,
>   type?: ata | audiocodes | c2t | ciscompp | dect | dpmroom | grandstream | mini | mitel | obi | polyandroid | polycom | polyedgee | sip | tickiot | yealink | string | null
> }[] | null
> ```

***

### users.delete

`deskphones.users.delete`

Desk Phone -- Delete. Deletes a user desk phone by id. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.deskphones.users.delete({ path: {"id":"sample-value","parent_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string,
>   parent_id: number | string
> }
> ```

**Output:** `any`

***

### users.get

`deskphones.users.get`

Desk Phone -- Get. Gets a user desk phone by id. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.deskphones.users.get({ path: {"id":"sample-value","parent_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string,
>   parent_id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `byod` | `boolean \| null` | No | — |
| `device_model` | `string \| null` | No | — |
| `firmware_version` | `string \| null` | No | — |
| `id` | `string \| null` | No | — |
| `mac_address` | `string \| null` | No | — |
| `name` | `string \| null` | No | — |
| `owner_id` | `number \| string \| null` | No | — |
| `owner_type` | `room \| user \| string \| null` | No | — |
| `password` | `string \| null` | No | — |
| `phone_number` | `string \| null` | No | — |
| `port` | `number \| string \| null` | No | — |
| `realm` | `string \| null` | No | — |
| `ring_notification` | `boolean \| null` | No | — |
| `sip_transport_type` | `tls \| string \| null` | No | — |
| `type` | `ata \| audiocodes \| c2t \| ciscompp \| dect \| dpmroom \| grandstream \| mini \| mitel \| obi \| polyandroid \| polycom \| polyedgee \| sip \| tickiot \| yealink \| string \| null` | No | — |

***

### users.list

`deskphones.users.list`

Desk Phone -- List. Gets all desk phones under a user. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.deskphones.users.list({ path: {"parent_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   parent_id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   byod?: boolean | null,
>   device_model?: string | null,
>   firmware_version?: string | null,
>   id?: string | null,
>   mac_address?: string | null,
>   name?: string | null,
>   owner_id?: number | string | null,
>   owner_type?: room | user | string | null,
>   password?: string | null,
>   phone_number?: string | null,
>   port?: number | string | null,
>   realm?: string | null,
>   ring_notification?: boolean | null,
>   sip_transport_type?: tls | string | null,
>   type?: ata | audiocodes | c2t | ciscompp | dect | dpmroom | grandstream | mini | mitel | obi | polyandroid | polycom | polyedgee | sip | tickiot | yealink | string | null
> }[] | null
> ```

***

## Digital

### sessions.list

`digital.sessions.list`

Digital -- Sessions -- List. Gets list of digital sessions which are started/ended in the requested period. Requested period must be less than 7 days. Requires scope: `digital_sessions` Rate limit: 100 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.digital.sessions.list({ query: {"end_date":"sample-value","start_date":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | Yes | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   cursor?: string,
>   end_date: string,
>   target_id?: number | string,
>   target_type?: callcenter | department | office,
>   start_date: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   agent_group_id?: string[] | null,
>   agent_group_name?: string[] | null,
>   agent_handled?: boolean | null,
>   agent_message_count?: number | string | null,
>   agent_transfer?: boolean | null,
>   aicsat_score?: number | null,
>   bot_time?: string | null,
>   cause?: string | null,
>   chat_type?: string | null,
>   created_at?: string | null,
>   customer?: {
>     email?: string | null,
>     id?: string | null,
>     name?: string | null,
>     phone?: string | null
>   },
>   customer_channel_info?: {
>     email?: string | null,
>     id?: string | null,
>     name?: string | null,
>     phone?: string | null
>   },
>   customer_csat_score?: number | null,
>   customer_session_id: string,
>   direction?: string | null,
>   disposition?: string[] | null,
>   duration?: number | null,
>   email_subject?: string | null,
>   ended_at?: string | null,
>   office?: {
>     id?: string | null,
>     name?: string | null
>   },
>   queue_time?: string | null,
>   queued_status?: string | null,
>   session_account?: {
>     email?: string | null,
>     id?: string | null,
>     name?: string | null,
>     phone?: string | null
>   },
>   session_channel?: string | null,
>   session_id: string,
>   skill?: string | null,
>   survey_status?: string | null,
>   target?: {
>     id?: string | null,
>     name?: string | null,
>     type?: string | null
>   },
>   user?: {
>     display_name?: string | null,
>     id?: string | null,
>     primary_email?: string | null
>   },
>   wrap_up_time?: string | null
> }[] | null
> ```

***

## Dispositions

### create

`dispositions.create`

Dispositions -- Create. Creates a disposition for an office. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.dispositions.create({ body: {"name":"sample-value","office_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   dispositions?: {
>   } | null,
>   name: string,
>   office_id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `date_modified` | `string \| null` | No | — |
| `dispositions` | `object \| null` | No | — |
| `formatted_dispositions` | `object[] \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `name` | `string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `targets` | `object[] \| null` | No | — |

> [accordion] dispositions full type
>
> ```ts theme={null}
> {
> } | null
> ```

> [accordion] formatted\_dispositions full type
>
> ```ts theme={null}
> {
>   dispositions?: {
>     name?: string | null,
>     usage?: string | null
>   }[] | null,
>   name?: string | null,
>   usage?: everything | inbound | outbound | string | null
> }[] | null
> ```

> [accordion] targets full type
>
> ```ts theme={null}
> {
> }[] | null
> ```

***

### delete

`dispositions.delete`

Dispositions -- Delete. Deletes the disposition by id. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.dispositions.delete({ path: {"id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

**Output:** `any`

***

### get

`dispositions.get`

Dispositions -- Get. Gets a disposition by id. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.dispositions.get({ path: {"id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `date_modified` | `string \| null` | No | — |
| `dispositions` | `object \| null` | No | — |
| `formatted_dispositions` | `object[] \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `name` | `string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `targets` | `object[] \| null` | No | — |

> [accordion] dispositions full type
>
> ```ts theme={null}
> {
> } | null
> ```

> [accordion] formatted\_dispositions full type
>
> ```ts theme={null}
> {
>   dispositions?: {
>     name?: string | null,
>     usage?: string | null
>   }[] | null,
>   name?: string | null,
>   usage?: everything | inbound | outbound | string | null
> }[] | null
> ```

> [accordion] targets full type
>
> ```ts theme={null}
> {
> }[] | null
> ```

***

### list

`dispositions.list`

Dispositions -- List. Gets a list of dispositions by a target. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.dispositions.list({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   cursor?: string,
>   target_id?: number | string,
>   target_type?: callcenter | coachinggroup | coachingteam | office | unknown
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   date_modified?: string | null,
>   dispositions?: {
>   } | null,
>   formatted_dispositions?: {
>     dispositions?: {
>       name?: any,
>       usage?: any
>     }[] | null,
>     name?: string | null,
>     usage?: everything | inbound | outbound | string | null
>   }[] | null,
>   id?: number | string | null,
>   name?: string | null,
>   office_id?: number | string | null,
>   targets?: {
>   }[] | null
> }[] | null
> ```

***

### update

`dispositions.update`

Dispositions -- Update. Updates the disposition by id. Bulk updates for the targets assigned to a disposition is not supported. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.dispositions.update({ path: {"id":1}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   action?: add_target | remove_target | null,
>   dispositions?: {
>   } | null,
>   name?: string | null,
>   target_id?: number | string | null,
>   target_type?: callcenter | coachinggroup | coachingteam | unknown | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `date_modified` | `string \| null` | No | — |
| `dispositions` | `object \| null` | No | — |
| `formatted_dispositions` | `object[] \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `name` | `string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `targets` | `object[] \| null` | No | — |

> [accordion] dispositions full type
>
> ```ts theme={null}
> {
> } | null
> ```

> [accordion] formatted\_dispositions full type
>
> ```ts theme={null}
> {
>   dispositions?: {
>     name?: string | null,
>     usage?: string | null
>   }[] | null,
>   name?: string | null,
>   usage?: everything | inbound | outbound | string | null
> }[] | null
> ```

> [accordion] targets full type
>
> ```ts theme={null}
> {
> }[] | null
> ```

***

## Fax

### send

`fax.send`

Fax -- Send. Sends a fax to a phone number. Rate limit: 250 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.fax.send({ body: {"to_number":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   from_number?: string | null,
>   infer_country_code?: boolean | null,
>   to_number: string,
>   user_id?: number | string | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `contact_id` | `number \| string \| null` | No | — |
| `created_date` | `string \| null` | No | — |
| `direction` | `inbound \| outbound \| string \| null` | No | — |
| `fax_status` | `error \| pending \| success \| suspended \| transmitting \| string \| null` | No | — |
| `fax_transaction` | `object` | No | — |
| `fax_url` | `string \| null` | No | — |
| `from_number` | `string \| null` | No | — |
| `id` | `string \| null` | No | — |
| `sender_id` | `number \| string \| null` | No | — |
| `to_number` | `string \| null` | No | — |
| `user_id` | `number \| string \| null` | No | — |

> [accordion] fax\_transaction full type
>
> ```ts theme={null}
> {
>   is_billed?: boolean | null,
>   num_pages?: number | string | null
> }
> ```

***

## Faxline

### assign

`faxline.assign`

Fax Line -- Assign. Assigns a fax line to a target. Target includes user and department. Depending on the chosen line type, the number will be taken from the company's reserved pool if there are available reserved numbers, otherwise numbers can be auto-assigned using a provided area code. Requires a company admin API key. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.faxline.assign({ body: {"line":{"number":"sample-value","type":"reserved"},"target":{"target_id":1,"target_type":"department"}} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   line: {
>     number: string,
>     type: reserved
>   } | {
>     area_code: string,
>     type: search
>   } | {
>     type: tollfree
>   },
>   target: {
>     target_id: number | string,
>     target_type: department | user
>   }
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `area_code` | `string \| null` | No | — |
| `company_id` | `number \| string \| null` | No | — |
| `number` | `string` | Yes | — |
| `office_id` | `number \| string \| null` | No | — |
| `target_id` | `number \| string \| null` | No | — |
| `target_type` | `callcenter \| callrouter \| channel \| coachinggroup \| coachingteam \| department \| office \| room \| staffgroup \| unknown \| user \| string \| null` | No | — |

***

## Ivr

### assign

`ivr.assign`

Custom IVR -- Assign. Assigns an already-created IVR recording to a target for a given IVR type, replacing whatever was previously assigned. This selects which existing recording plays; it does not change the recording's own name or description. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.ivr.assign({ path: {"target_type":"callcenter","target_id":1,"ivr_type":"ADMIN_AUTO_RECORDING"}, body: {"ivr_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   target_type: callcenter | callrouter | channel | coachinggroup | coachingteam | department | office | room | staffgroup | unknown | user,
>   target_id: number | string,
>   ivr_type: ADMIN_AUTO_RECORDING | ASK_FIRST_OPERATOR_NOT_AVAILABLE | AUTO_RECORDING | CALLAI_AUTO_RECORDING | CALLAI_AUTO_RECORDING_INBOUND | CALLAI_AUTO_RECORDING_OUTBOUND | CALLAI_TOGGLE_DISABLED | CALLAI_TOGGLE_ENABLED | CG_AUTO_RECORDING | CLOSED | CLOSED_DEPARTMENT_INTRO | CLOSED_MENU | CLOSED_MENU_OPTION | CSAT_INTRO | CSAT_OUTRO | CSAT_PREAMBLE | CSAT_QUESTION | DEPARTMENT_INTRO | GREETING | HOLD_AGENT_READY | HOLD_APPREC | HOLD_CALLBACK_ACCEPT | HOLD_CALLBACK_ACCEPTED | HOLD_CALLBACK_CONFIRM | HOLD_CALLBACK_CONFIRM_NUMBER | HOLD_CALLBACK_DIFFERENT_NUMBER | HOLD_CALLBACK_DIRECT | HOLD_CALLBACK_FULFILLED | HOLD_CALLBACK_INVALID_NUMBER | HOLD_CALLBACK_KEYPAD | HOLD_CALLBACK_REJECT | HOLD_CALLBACK_REJECTED | HOLD_CALLBACK_REQUEST | HOLD_CALLBACK_REQUESTED | HOLD_CALLBACK_SAME_NUMBER | HOLD_CALLBACK_TRY_AGAIN | HOLD_CALLBACK_UNDIALABLE | HOLD_ESCAPE_VM_EIGHT | HOLD_ESCAPE_VM_FIVE | HOLD_ESCAPE_VM_FOUR | HOLD_ESCAPE_VM_NINE | HOLD_ESCAPE_VM_ONE | HOLD_ESCAPE_VM_POUND | HOLD_ESCAPE_VM_SEVEN | HOLD_ESCAPE_VM_SIX | HOLD_ESCAPE_VM_STAR | HOLD_ESCAPE_VM_TEN | HOLD_ESCAPE_VM_THREE | HOLD_ESCAPE_VM_TWO | HOLD_ESCAPE_VM_ZERO | HOLD_ESTIMATED_WAIT_TIME | HOLD_INTERRUPT | HOLD_INTRO | HOLD_MUSIC | HOLD_POSITION_EIGHT | HOLD_POSITION_FIVE | HOLD_POSITION_FOUR | HOLD_POSITION_MORE | HOLD_POSITION_NINE | HOLD_POSITION_ONE | HOLD_POSITION_SEVEN | HOLD_POSITION_SIX | HOLD_POSITION_TEN | HOLD_POSITION_THREE | HOLD_POSITION_TWO | HOLD_POSITION_ZERO | HOLD_WAIT | INCOMING_CALL_FROM_GROUP | MENU | MENU_OPTION | NEXT_TARGET | POWER_DIALER_CALL_GREETING | POWER_DIALER_VM_DROP | PREFERRED_OPERATOR_PROMPT | VM_DROP_MESSAGE | VM_UNAVAILABLE | VM_UNAVAILABLE_CLOSED
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   ivr_id: number | string,
>   select_option?: inbound | outbound | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `ivr_type` | `ADMIN_AUTO_RECORDING \| ASK_FIRST_OPERATOR_NOT_AVAILABLE \| AUTO_RECORDING \| CALLAI_AUTO_RECORDING \| CALLAI_AUTO_RECORDING_INBOUND \| CALLAI_AUTO_RECORDING_OUTBOUND \| CALLAI_TOGGLE_DISABLED \| CALLAI_TOGGLE_ENABLED \| CG_AUTO_RECORDING \| CLOSED \| CLOSED_DEPARTMENT_INTRO \| CLOSED_MENU \| CLOSED_MENU_OPTION \| CSAT_INTRO \| CSAT_OUTRO \| CSAT_PREAMBLE \| CSAT_QUESTION \| DEPARTMENT_INTRO \| GREETING \| HOLD_AGENT_READY \| HOLD_APPREC \| HOLD_CALLBACK_ACCEPT \| HOLD_CALLBACK_ACCEPTED \| HOLD_CALLBACK_CONFIRM \| HOLD_CALLBACK_CONFIRM_NUMBER \| HOLD_CALLBACK_DIFFERENT_NUMBER \| HOLD_CALLBACK_DIRECT \| HOLD_CALLBACK_FULFILLED \| HOLD_CALLBACK_INVALID_NUMBER \| HOLD_CALLBACK_KEYPAD \| HOLD_CALLBACK_REJECT \| HOLD_CALLBACK_REJECTED \| HOLD_CALLBACK_REQUEST \| HOLD_CALLBACK_REQUESTED \| HOLD_CALLBACK_SAME_NUMBER \| HOLD_CALLBACK_TRY_AGAIN \| HOLD_CALLBACK_UNDIALABLE \| HOLD_ESCAPE_VM_EIGHT \| HOLD_ESCAPE_VM_FIVE \| HOLD_ESCAPE_VM_FOUR \| HOLD_ESCAPE_VM_NINE \| HOLD_ESCAPE_VM_ONE \| HOLD_ESCAPE_VM_POUND \| HOLD_ESCAPE_VM_SEVEN \| HOLD_ESCAPE_VM_SIX \| HOLD_ESCAPE_VM_STAR \| HOLD_ESCAPE_VM_TEN \| HOLD_ESCAPE_VM_THREE \| HOLD_ESCAPE_VM_TWO \| HOLD_ESCAPE_VM_ZERO \| HOLD_ESTIMATED_WAIT_TIME \| HOLD_INTERRUPT \| HOLD_INTRO \| HOLD_MUSIC \| HOLD_POSITION_EIGHT \| HOLD_POSITION_FIVE \| HOLD_POSITION_FOUR \| HOLD_POSITION_MORE \| HOLD_POSITION_NINE \| HOLD_POSITION_ONE \| HOLD_POSITION_SEVEN \| HOLD_POSITION_SIX \| HOLD_POSITION_TEN \| HOLD_POSITION_THREE \| HOLD_POSITION_TWO \| HOLD_POSITION_ZERO \| HOLD_WAIT \| INCOMING_CALL_FROM_GROUP \| MENU \| MENU_OPTION \| NEXT_TARGET \| POWER_DIALER_CALL_GREETING \| POWER_DIALER_VM_DROP \| PREFERRED_OPERATOR_PROMPT \| VM_DROP_MESSAGE \| VM_UNAVAILABLE \| VM_UNAVAILABLE_CLOSED \| string \| null` | No | — |
| `ivrs` | `object[] \| null` | No | — |

> [accordion] ivrs full type
>
> ```ts theme={null}
> {
>   date_added?: number | string | null,
>   description?: string | null,
>   id?: number | string | null,
>   name?: string | null,
>   selected?: boolean | null,
>   text?: string | null
> }[] | null
> ```

***

### create

`ivr.create`

Custom IVR -- Create. Creates a new custom IVR recording for a target. The audio is supplied in the "file" field as a Base64-encoded MP3. Returns the created IVR, including the id needed to assign it to a target. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.ivr.create({ body: {"file":"c2FtcGxl","ivr_type":"ADMIN_AUTO_RECORDING","target_id":1,"target_type":"callcenter"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   description?: string | null,
>   file: string,
>   ivr_type: ADMIN_AUTO_RECORDING | ASK_FIRST_OPERATOR_NOT_AVAILABLE | AUTO_RECORDING | CALLAI_AUTO_RECORDING | CALLAI_AUTO_RECORDING_INBOUND | CALLAI_AUTO_RECORDING_OUTBOUND | CALLAI_TOGGLE_DISABLED | CALLAI_TOGGLE_ENABLED | CG_AUTO_RECORDING | CLOSED | CLOSED_DEPARTMENT_INTRO | CLOSED_MENU | CLOSED_MENU_OPTION | CSAT_INTRO | CSAT_OUTRO | CSAT_PREAMBLE | CSAT_QUESTION | DEPARTMENT_INTRO | GREETING | HOLD_AGENT_READY | HOLD_APPREC | HOLD_CALLBACK_ACCEPT | HOLD_CALLBACK_ACCEPTED | HOLD_CALLBACK_CONFIRM | HOLD_CALLBACK_CONFIRM_NUMBER | HOLD_CALLBACK_DIFFERENT_NUMBER | HOLD_CALLBACK_DIRECT | HOLD_CALLBACK_FULFILLED | HOLD_CALLBACK_INVALID_NUMBER | HOLD_CALLBACK_KEYPAD | HOLD_CALLBACK_REJECT | HOLD_CALLBACK_REJECTED | HOLD_CALLBACK_REQUEST | HOLD_CALLBACK_REQUESTED | HOLD_CALLBACK_SAME_NUMBER | HOLD_CALLBACK_TRY_AGAIN | HOLD_CALLBACK_UNDIALABLE | HOLD_ESCAPE_VM_EIGHT | HOLD_ESCAPE_VM_FIVE | HOLD_ESCAPE_VM_FOUR | HOLD_ESCAPE_VM_NINE | HOLD_ESCAPE_VM_ONE | HOLD_ESCAPE_VM_POUND | HOLD_ESCAPE_VM_SEVEN | HOLD_ESCAPE_VM_SIX | HOLD_ESCAPE_VM_STAR | HOLD_ESCAPE_VM_TEN | HOLD_ESCAPE_VM_THREE | HOLD_ESCAPE_VM_TWO | HOLD_ESCAPE_VM_ZERO | HOLD_ESTIMATED_WAIT_TIME | HOLD_INTERRUPT | HOLD_INTRO | HOLD_MUSIC | HOLD_POSITION_EIGHT | HOLD_POSITION_FIVE | HOLD_POSITION_FOUR | HOLD_POSITION_MORE | HOLD_POSITION_NINE | HOLD_POSITION_ONE | HOLD_POSITION_SEVEN | HOLD_POSITION_SIX | HOLD_POSITION_TEN | HOLD_POSITION_THREE | HOLD_POSITION_TWO | HOLD_POSITION_ZERO | HOLD_WAIT | INCOMING_CALL_FROM_GROUP | MENU | MENU_OPTION | NEXT_TARGET | POWER_DIALER_CALL_GREETING | POWER_DIALER_VM_DROP | PREFERRED_OPERATOR_PROMPT | VM_DROP_MESSAGE | VM_UNAVAILABLE | VM_UNAVAILABLE_CLOSED,
>   name?: string | null,
>   target_id: number | string,
>   target_type: callcenter | coachingteam | department | office | user
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `date_added` | `number \| string \| null` | No | — |
| `description` | `string \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `name` | `string \| null` | No | — |
| `selected` | `boolean \| null` | No | — |
| `text` | `string \| null` | No | — |

***

### delete

`ivr.delete`

Custom IVR -- Delete. Un-assigns an IVR recording from a target for a given IVR type and deletes the recording. The target falls back to its default behaviour for that IVR type. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.ivr.delete({ path: {"target_type":"callcenter","target_id":1,"ivr_type":"ADMIN_AUTO_RECORDING"}, body: {"ivr_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   target_type: callcenter | callrouter | channel | coachinggroup | coachingteam | department | office | room | staffgroup | unknown | user,
>   target_id: number | string,
>   ivr_type: ADMIN_AUTO_RECORDING | ASK_FIRST_OPERATOR_NOT_AVAILABLE | AUTO_RECORDING | CALLAI_AUTO_RECORDING | CALLAI_AUTO_RECORDING_INBOUND | CALLAI_AUTO_RECORDING_OUTBOUND | CALLAI_TOGGLE_DISABLED | CALLAI_TOGGLE_ENABLED | CG_AUTO_RECORDING | CLOSED | CLOSED_DEPARTMENT_INTRO | CLOSED_MENU | CLOSED_MENU_OPTION | CSAT_INTRO | CSAT_OUTRO | CSAT_PREAMBLE | CSAT_QUESTION | DEPARTMENT_INTRO | GREETING | HOLD_AGENT_READY | HOLD_APPREC | HOLD_CALLBACK_ACCEPT | HOLD_CALLBACK_ACCEPTED | HOLD_CALLBACK_CONFIRM | HOLD_CALLBACK_CONFIRM_NUMBER | HOLD_CALLBACK_DIFFERENT_NUMBER | HOLD_CALLBACK_DIRECT | HOLD_CALLBACK_FULFILLED | HOLD_CALLBACK_INVALID_NUMBER | HOLD_CALLBACK_KEYPAD | HOLD_CALLBACK_REJECT | HOLD_CALLBACK_REJECTED | HOLD_CALLBACK_REQUEST | HOLD_CALLBACK_REQUESTED | HOLD_CALLBACK_SAME_NUMBER | HOLD_CALLBACK_TRY_AGAIN | HOLD_CALLBACK_UNDIALABLE | HOLD_ESCAPE_VM_EIGHT | HOLD_ESCAPE_VM_FIVE | HOLD_ESCAPE_VM_FOUR | HOLD_ESCAPE_VM_NINE | HOLD_ESCAPE_VM_ONE | HOLD_ESCAPE_VM_POUND | HOLD_ESCAPE_VM_SEVEN | HOLD_ESCAPE_VM_SIX | HOLD_ESCAPE_VM_STAR | HOLD_ESCAPE_VM_TEN | HOLD_ESCAPE_VM_THREE | HOLD_ESCAPE_VM_TWO | HOLD_ESCAPE_VM_ZERO | HOLD_ESTIMATED_WAIT_TIME | HOLD_INTERRUPT | HOLD_INTRO | HOLD_MUSIC | HOLD_POSITION_EIGHT | HOLD_POSITION_FIVE | HOLD_POSITION_FOUR | HOLD_POSITION_MORE | HOLD_POSITION_NINE | HOLD_POSITION_ONE | HOLD_POSITION_SEVEN | HOLD_POSITION_SIX | HOLD_POSITION_TEN | HOLD_POSITION_THREE | HOLD_POSITION_TWO | HOLD_POSITION_ZERO | HOLD_WAIT | INCOMING_CALL_FROM_GROUP | MENU | MENU_OPTION | NEXT_TARGET | POWER_DIALER_CALL_GREETING | POWER_DIALER_VM_DROP | PREFERRED_OPERATOR_PROMPT | VM_DROP_MESSAGE | VM_UNAVAILABLE | VM_UNAVAILABLE_CLOSED
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   ivr_id: number | string,
>   select_option?: inbound | outbound | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `date_added` | `number \| string \| null` | No | — |
| `description` | `string \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `name` | `string \| null` | No | — |
| `selected` | `boolean \| null` | No | — |
| `text` | `string \| null` | No | — |

***

### update\_details

`ivr.update_details`

Custom IVR -- Update. Renames an existing IVR recording or changes its description. This edits the recording's own metadata only; it does not change which target the recording is assigned to and does not replace the audio. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.ivr.update_details({ path: {"ivr_id":"sample-value"}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   ivr_id: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   description?: string | null,
>   name?: string | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `date_added` | `number \| string \| null` | No | — |
| `description` | `string \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `name` | `string \| null` | No | — |
| `selected` | `boolean \| null` | No | — |
| `text` | `string \| null` | No | — |

***

## Meetings

### conference-meetings.list

`meetings.conference-meetings.list`

Meeting Summary -- List. Lists summaries of meetings that have occurred in the specified meeting room. Requires scope: `conference:read` Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.meetings.conference-meetings.list({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   cursor?: string,
>   start_date?: number | string,
>   end_date?: number | string,
>   room_id?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   duration_ms?: number | string | null,
>   end_time?: string | null,
>   host_name?: string | null,
>   id?: string | null,
>   participants?: {
>     call_in_method?: string | null,
>     contact_id?: string | null,
>     display_name?: string | null,
>     email?: string | null,
>     is_organizer?: boolean | null,
>     name?: string | null,
>     phone?: string | null,
>     phone_number?: string | null,
>     talk_time?: number | string | null
>   }[] | null,
>   recordings?: {
>     size?: string | null,
>     url?: string | null
>   }[] | null,
>   room_id?: string | null,
>   start_time?: string | null,
>   title?: string | null,
>   transcript_url?: string | null,
>   video_recordings?: {
>     url?: string | null
>   }[] | null
> }[] | null
> ```

***

### conference-rooms.list

`meetings.conference-rooms.list`

Meeting Room -- List. Lists all conference rooms. Requires scope: `conference:read` Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.meetings.conference-rooms.list({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   cursor?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   company_name?: string | null,
>   display_name?: string | null,
>   email?: string | null,
>   id?: string | null,
>   number?: string | null,
>   path?: string | null
> }[] | null
> ```

***

### meetings.create

`meetings.meetings.create`

Dialpad Meeting -- Create. Creates a Dialpad meeting. Requires scope: `conference:all` Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.meetings.meetings.create({ body: {"start_datetime":1,"title":"sample-value","user_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   call_out?: boolean | null,
>   contact_ids?: string[] | null,
>   duration?: number | string | null,
>   end_datetime?: number | string | null,
>   meeting_id?: string | null,
>   meeting_type?: CUSTOM_UNIQUE_MEETING | LARGE_MEETING | PERSONAL | UNIQUE_MEETING | null,
>   recurrence?: string | null,
>   start_datetime: number | string,
>   title: string,
>   user_id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `call_out` | `boolean \| null` | No | — |
| `dial_in_number` | `string \| null` | No | — |
| `duration` | `number \| string \| null` | No | — |
| `end_datetime` | `string \| null` | No | — |
| `id` | `string \| null` | No | — |
| `instance_id` | `string \| null` | No | — |
| `is_moderated` | `boolean \| null` | No | — |
| `meeting_type` | `CUSTOM_UNIQUE_MEETING \| LARGE_MEETING \| PERSONAL \| UNIQUE_MEETING \| string \| null` | No | — |
| `meeting_url` | `string \| null` | No | — |
| `organizer_pin` | `string \| null` | No | — |
| `participant_pin` | `string \| null` | No | — |
| `participants_info` | `object[] \| null` | No | — |
| `recurrence` | `string \| null` | No | — |
| `recurrence_end_date` | `string \| null` | No | — |
| `start_datetime` | `string \| null` | No | — |
| `timezone` | `string \| null` | No | — |
| `title` | `string \| null` | No | — |

> [accordion] participants\_info full type
>
> ```ts theme={null}
> {
>   call_in_method?: string | null,
>   contact_id?: string | null,
>   display_name?: string | null,
>   email?: string | null,
>   is_organizer?: boolean | null,
>   name?: string | null,
>   phone?: string | null,
>   phone_number?: string | null,
>   talk_time?: number | string | null
> }[] | null
> ```

***

### meetings.delete

`meetings.meetings.delete`

Dialpad Meeting -- Delete. Deletes a Dialpad meeting. Requires scope: `conference:all` Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.meetings.meetings.delete({ path: {"scheduled_conference_id":1}, query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `query` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   scheduled_conference_id: number | string
> }
> ```

> [accordion] query full type
>
> ```ts theme={null}
> {
>   user_id?: number | string,
>   timestamp?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `call_out` | `boolean \| null` | No | — |
| `dial_in_number` | `string \| null` | No | — |
| `duration` | `number \| string \| null` | No | — |
| `end_datetime` | `string \| null` | No | — |
| `id` | `string \| null` | No | — |
| `instance_id` | `string \| null` | No | — |
| `is_moderated` | `boolean \| null` | No | — |
| `meeting_type` | `CUSTOM_UNIQUE_MEETING \| LARGE_MEETING \| PERSONAL \| UNIQUE_MEETING \| string \| null` | No | — |
| `meeting_url` | `string \| null` | No | — |
| `organizer_pin` | `string \| null` | No | — |
| `participant_pin` | `string \| null` | No | — |
| `participants_info` | `object[] \| null` | No | — |
| `recurrence` | `string \| null` | No | — |
| `recurrence_end_date` | `string \| null` | No | — |
| `start_datetime` | `string \| null` | No | — |
| `timezone` | `string \| null` | No | — |
| `title` | `string \| null` | No | — |

> [accordion] participants\_info full type
>
> ```ts theme={null}
> {
>   call_in_method?: string | null,
>   contact_id?: string | null,
>   display_name?: string | null,
>   email?: string | null,
>   is_organizer?: boolean | null,
>   name?: string | null,
>   phone?: string | null,
>   phone_number?: string | null,
>   talk_time?: number | string | null
> }[] | null
> ```

***

### meetings.get

`meetings.meetings.get`

Dialpad Meeting -- Get. Gets a Dialpad meeting. Requires scope: `conference:all` Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.meetings.meetings.get({ path: {"scheduled_conference_id":1}, query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `query` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   scheduled_conference_id: number | string
> }
> ```

> [accordion] query full type
>
> ```ts theme={null}
> {
>   user_id?: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `call_out` | `boolean \| null` | No | — |
| `dial_in_number` | `string \| null` | No | — |
| `duration` | `number \| string \| null` | No | — |
| `end_datetime` | `string \| null` | No | — |
| `id` | `string \| null` | No | — |
| `instance_id` | `string \| null` | No | — |
| `is_moderated` | `boolean \| null` | No | — |
| `meeting_type` | `CUSTOM_UNIQUE_MEETING \| LARGE_MEETING \| PERSONAL \| UNIQUE_MEETING \| string \| null` | No | — |
| `meeting_url` | `string \| null` | No | — |
| `organizer_pin` | `string \| null` | No | — |
| `participant_pin` | `string \| null` | No | — |
| `participants_info` | `object[] \| null` | No | — |
| `recurrence` | `string \| null` | No | — |
| `recurrence_end_date` | `string \| null` | No | — |
| `start_datetime` | `string \| null` | No | — |
| `timezone` | `string \| null` | No | — |
| `title` | `string \| null` | No | — |

> [accordion] participants\_info full type
>
> ```ts theme={null}
> {
>   call_in_method?: string | null,
>   contact_id?: string | null,
>   display_name?: string | null,
>   email?: string | null,
>   is_organizer?: boolean | null,
>   name?: string | null,
>   phone?: string | null,
>   phone_number?: string | null,
>   talk_time?: number | string | null
> }[] | null
> ```

***

### meetings.list

`meetings.meetings.list`

Dialpad Meeting -- List. Lists all Dialpad meetings for a specified user. Requires scope: `conference:all` Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.meetings.meetings.list({ query: {"user_id":1,"start_datetime":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | Yes | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   cursor?: string,
>   user_id: number | string,
>   end_datetime?: number | string,
>   start_datetime: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `data` | `object[] \| null` | No | — |

> [accordion] data full type
>
> ```ts theme={null}
> {
>   call_out?: boolean | null,
>   dial_in_number?: string | null,
>   duration?: number | string | null,
>   end_datetime?: string | null,
>   id?: string | null,
>   instance_id?: string | null,
>   is_moderated?: boolean | null,
>   meeting_type?: CUSTOM_UNIQUE_MEETING | LARGE_MEETING | PERSONAL | UNIQUE_MEETING | string | null,
>   meeting_url?: string | null,
>   organizer_pin?: string | null,
>   participant_pin?: string | null,
>   participants_info?: {
>     call_in_method?: string | null,
>     contact_id?: string | null,
>     display_name?: string | null,
>     email?: string | null,
>     is_organizer?: boolean | null,
>     name?: string | null,
>     phone?: string | null,
>     phone_number?: string | null,
>     talk_time?: number | string | null
>   }[] | null,
>   recurrence?: string | null,
>   recurrence_end_date?: string | null,
>   start_datetime?: string | null,
>   timezone?: string | null,
>   title?: string | null
> }[] | null
> ```

***

### meetings.room.create

`meetings.meetings.room.create`

Meeting Room -- Create. Creates a meeting room (personal or unique meeting). Requires scope: `conference:all` Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.meetings.meetings.room.create({ query: {"user_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | Yes | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   meeting_id?: string,
>   meeting_type?: string,
>   user_id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `display_number` | `string \| null` | No | — |
| `meeting_type` | `string` | Yes | — |
| `organizer_pin` | `string \| null` | No | — |
| `participant_pin` | `string \| null` | No | — |
| `unique_meeting_id` | `string \| null` | No | — |
| `url` | `string` | Yes | — |
| `user_id` | `string` | Yes | — |

***

### meetings.update

`meetings.meetings.update`

Dialpad Meeting -- Update. Updates a Dialpad meeting. Requires scope: `conference:all` Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.meetings.meetings.update({ path: {"scheduled_conference_id":1}, body: {"user_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   scheduled_conference_id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   call_out?: boolean | null,
>   contact_ids?: string[] | null,
>   duration?: number | string | null,
>   end_datetime?: number | string | null,
>   instance_id?: string | null,
>   recurrence?: string | null,
>   start_datetime?: number | string | null,
>   title?: string | null,
>   user_id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `call_out` | `boolean \| null` | No | — |
| `dial_in_number` | `string \| null` | No | — |
| `duration` | `number \| string \| null` | No | — |
| `end_datetime` | `string \| null` | No | — |
| `id` | `string \| null` | No | — |
| `instance_id` | `string \| null` | No | — |
| `is_moderated` | `boolean \| null` | No | — |
| `meeting_type` | `CUSTOM_UNIQUE_MEETING \| LARGE_MEETING \| PERSONAL \| UNIQUE_MEETING \| string \| null` | No | — |
| `meeting_url` | `string \| null` | No | — |
| `organizer_pin` | `string \| null` | No | — |
| `participant_pin` | `string \| null` | No | — |
| `participants_info` | `object[] \| null` | No | — |
| `recurrence` | `string \| null` | No | — |
| `recurrence_end_date` | `string \| null` | No | — |
| `start_datetime` | `string \| null` | No | — |
| `timezone` | `string \| null` | No | — |
| `title` | `string \| null` | No | — |

> [accordion] participants\_info full type
>
> ```ts theme={null}
> {
>   call_in_method?: string | null,
>   contact_id?: string | null,
>   display_name?: string | null,
>   email?: string | null,
>   is_organizer?: boolean | null,
>   name?: string | null,
>   phone?: string | null,
>   phone_number?: string | null,
>   talk_time?: number | string | null
> }[] | null
> ```

***

## Number Tags

### update

`number_tags.update`

Number Tags -- Update tags for a phone number.. Sets the contact preferences for a phone number company-wide. "do\_not\_call" blocks outbound calls to the number and "do\_not\_text" blocks outbound texts. Returns the resulting preferences. Either preference can be turned back off by sending the opposite value. Requires a company admin API key. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.number_tags.update({ body: {"phone":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   do_not_call?: boolean | null,
>   do_not_text?: boolean | null,
>   phone: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `do_not_call` | `boolean \| null` | No | — |
| `do_not_text` | `boolean \| null` | No | — |
| `phone` | `string \| null` | No | — |

***

## Numbers

### assign

`numbers.assign`

Dialpad Number -- Assign. Assigns a specific phone number to a target. Use this when the number to assign is already known; use the auto-assign endpoint to let Dialpad pick one. Valid targets are a user or department, an office, room, callcenter, callrouter, staffgroup, channel or coachinggroup. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.numbers.assign({ path: {"number":"sample-value"}, body: {"target_id":1,"target_type":"callcenter"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   number: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   primary?: boolean | null,
>   target_id: number | string,
>   target_type: callcenter | callrouter | channel | coachinggroup | coachingteam | department | office | room | staffgroup | unknown | user
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `area_code` | `string \| null` | No | — |
| `company_id` | `number \| string \| null` | No | — |
| `deleted` | `boolean \| null` | No | — |
| `number` | `string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `status` | `available \| call_center \| call_router \| call_service \| department \| dynamic_caller \| office \| pending \| porting \| room \| shared_line \| sip_trunk \| user \| string \| null` | No | — |
| `target_id` | `number \| string \| null` | No | — |
| `target_type` | `callcenter \| callrouter \| channel \| coachinggroup \| coachingteam \| department \| office \| room \| staffgroup \| unknown \| user \| string \| null` | No | — |
| `type` | `free \| local \| mobile \| softbank \| tollfree \| string \| null` | No | — |

***

### assign\_call\_router\_number.post

`numbers.assign_call_router_number.post`

Dialpad Number -- Assign. Assigns a number to a callrouter. The number will automatically be taken from the company's reserved pool if there are reserved numbers, otherwise a number will be auto-assigned from the provided area code. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.numbers.assign_call_router_number.post({ path: {"id":1}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   area_code?: string | null,
>   number?: string | null,
>   primary?: boolean | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `area_code` | `string \| null` | No | — |
| `company_id` | `number \| string \| null` | No | — |
| `deleted` | `boolean \| null` | No | — |
| `number` | `string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `status` | `available \| call_center \| call_router \| call_service \| department \| dynamic_caller \| office \| pending \| porting \| room \| shared_line \| sip_trunk \| user \| string \| null` | No | — |
| `target_id` | `number \| string \| null` | No | — |
| `target_type` | `callcenter \| callrouter \| channel \| coachinggroup \| coachingteam \| department \| office \| room \| staffgroup \| unknown \| user \| string \| null` | No | — |
| `type` | `free \| local \| mobile \| softbank \| tollfree \| string \| null` | No | — |

***

### assign\_office\_number.post

`numbers.assign_office_number.post`

Dialpad Number -- Assign. Assigns a number to a office. The number will automatically be taken from the company's reserved pool if there are reserved numbers, otherwise a number will be auto-assigned from the provided area code. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.numbers.assign_office_number.post({ path: {"id":1}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   area_code?: string | null,
>   number?: string | null,
>   primary?: boolean | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `area_code` | `string \| null` | No | — |
| `company_id` | `number \| string \| null` | No | — |
| `deleted` | `boolean \| null` | No | — |
| `number` | `string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `status` | `available \| call_center \| call_router \| call_service \| department \| dynamic_caller \| office \| pending \| porting \| room \| shared_line \| sip_trunk \| user \| string \| null` | No | — |
| `target_id` | `number \| string \| null` | No | — |
| `target_type` | `callcenter \| callrouter \| channel \| coachinggroup \| coachingteam \| department \| office \| room \| staffgroup \| unknown \| user \| string \| null` | No | — |
| `type` | `free \| local \| mobile \| softbank \| tollfree \| string \| null` | No | — |

***

### assign\_room\_number.post

`numbers.assign_room_number.post`

Dialpad Number -- Assign. Assigns a number to a room. The number will automatically be taken from the company's reserved block if there are reserved numbers, otherwise a number will be auto-assigned from the provided area code. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.numbers.assign_room_number.post({ path: {"id":1}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   area_code?: string | null,
>   number?: string | null,
>   primary?: boolean | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `area_code` | `string \| null` | No | — |
| `company_id` | `number \| string \| null` | No | — |
| `deleted` | `boolean \| null` | No | — |
| `number` | `string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `status` | `available \| call_center \| call_router \| call_service \| department \| dynamic_caller \| office \| pending \| porting \| room \| shared_line \| sip_trunk \| user \| string \| null` | No | — |
| `target_id` | `number \| string \| null` | No | — |
| `target_type` | `callcenter \| callrouter \| channel \| coachinggroup \| coachingteam \| department \| office \| room \| staffgroup \| unknown \| user \| string \| null` | No | — |
| `type` | `free \| local \| mobile \| softbank \| tollfree \| string \| null` | No | — |

***

### auto\_assign

`numbers.auto_assign`

Dialpad Number -- Auto-Assign. Assigns an automatically selected phone number to a target and returns the number that was chosen. The number is taken from the company's reserved pool if one exists, otherwise a new number is allocated from the provided area code. Use the assign endpoint instead when a specific number is required. Target includes user, department, office, room, callcenter and callrouter, plus staffgroup, channel and coachinggroup. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.numbers.auto_assign({ body: {"target_id":1,"target_type":"callcenter"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   area_code?: string | null,
>   number?: string | null,
>   primary?: boolean | null,
>   target_id: number | string,
>   target_type: callcenter | callrouter | channel | coachinggroup | coachingteam | department | office | room | staffgroup | unknown | user
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `area_code` | `string \| null` | No | — |
| `company_id` | `number \| string \| null` | No | — |
| `deleted` | `boolean \| null` | No | — |
| `number` | `string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `status` | `available \| call_center \| call_router \| call_service \| department \| dynamic_caller \| office \| pending \| porting \| room \| shared_line \| sip_trunk \| user \| string \| null` | No | — |
| `target_id` | `number \| string \| null` | No | — |
| `target_type` | `callcenter \| callrouter \| channel \| coachinggroup \| coachingteam \| department \| office \| room \| staffgroup \| unknown \| user \| string \| null` | No | — |
| `type` | `free \| local \| mobile \| softbank \| tollfree \| string \| null` | No | — |

***

### get

`numbers.get`

Dialpad Number -- Get. Gets the details of a single phone number: its type, area code, status, and the target it is assigned to. Requires a company admin API key. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.numbers.get({ path: {"number":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   number: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `area_code` | `string \| null` | No | — |
| `company_id` | `number \| string \| null` | No | — |
| `deleted` | `boolean \| null` | No | — |
| `number` | `string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `status` | `available \| call_center \| call_router \| call_service \| department \| dynamic_caller \| office \| pending \| porting \| room \| shared_line \| sip_trunk \| user \| string \| null` | No | — |
| `target_id` | `number \| string \| null` | No | — |
| `target_type` | `callcenter \| callrouter \| channel \| coachinggroup \| coachingteam \| department \| office \| room \| staffgroup \| unknown \| user \| string \| null` | No | — |
| `type` | `free \| local \| mobile \| softbank \| tollfree \| string \| null` | No | — |

***

### list

`numbers.list`

Dialpad Number -- List. Lists the phone numbers in your company, each with its type, area code, status and the target it is assigned to. Filter by status to find numbers in a particular state, or by area code to find numbers in a particular region. Requires a company admin API key. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.numbers.list({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   cursor?: string,
>   area_code?: string,
>   status?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   area_code?: string | null,
>   company_id?: number | string | null,
>   deleted?: boolean | null,
>   number?: string | null,
>   office_id?: number | string | null,
>   status?: available | call_center | call_router | call_service | department | dynamic_caller | office | pending | porting | room | shared_line | sip_trunk | user | string | null,
>   target_id?: number | string | null,
>   target_type?: callcenter | callrouter | channel | coachinggroup | coachingteam | department | office | room | staffgroup | unknown | user | string | null,
>   type?: free | local | mobile | softbank | tollfree | string | null
> }[] | null
> ```

***

### office\_unassign\_number.post

`numbers.office_unassign_number.post`

Dialpad Number -- Unassign. Un-assigns a phone number from a office mainline. The number will be returned to the company's reserved pool if there is one. Otherwise the number will be released. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.numbers.office_unassign_number.post({ path: {"id":1}, body: {"number":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   number: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `area_code` | `string \| null` | No | — |
| `company_id` | `number \| string \| null` | No | — |
| `deleted` | `boolean \| null` | No | — |
| `number` | `string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `status` | `available \| call_center \| call_router \| call_service \| department \| dynamic_caller \| office \| pending \| porting \| room \| shared_line \| sip_trunk \| user \| string \| null` | No | — |
| `target_id` | `number \| string \| null` | No | — |
| `target_type` | `callcenter \| callrouter \| channel \| coachinggroup \| coachingteam \| department \| office \| room \| staffgroup \| unknown \| user \| string \| null` | No | — |
| `type` | `free \| local \| mobile \| softbank \| tollfree \| string \| null` | No | — |

***

### room\_unassign\_number.post

`numbers.room_unassign_number.post`

Dialpad Number -- Unassign. Un-assigns a phone number from a room. The number will be returned to the company's reserved pool if there is one. Otherwise the number will be released. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.numbers.room_unassign_number.post({ path: {"id":1}, body: {"number":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   number: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `area_code` | `string \| null` | No | — |
| `company_id` | `number \| string \| null` | No | — |
| `deleted` | `boolean \| null` | No | — |
| `number` | `string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `status` | `available \| call_center \| call_router \| call_service \| department \| dynamic_caller \| office \| pending \| porting \| room \| shared_line \| sip_trunk \| user \| string \| null` | No | — |
| `target_id` | `number \| string \| null` | No | — |
| `target_type` | `callcenter \| callrouter \| channel \| coachinggroup \| coachingteam \| department \| office \| room \| staffgroup \| unknown \| user \| string \| null` | No | — |
| `type` | `free \| local \| mobile \| softbank \| tollfree \| string \| null` | No | — |

***

### swap

`numbers.swap`

Dialpad Number -- Swap. Replaces a target's primary phone number with a different one and returns the new number. The old number is released. How the replacement is chosen depends on swap\_details: give a specific number to swap to that number (it must already be in the company's reserved pool, and the company must have the reserved\_pool experiment enabled), give an area code to take an available number from that area code, or omit swap\_details to have one chosen automatically from the reserved pool, falling back to the target's office area code. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.numbers.swap({ body: {"target":{"target_id":1,"target_type":"callcenter"}} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   swap_details?: {
>     area_code?: string | null,
>     type: area_code
>   } | {
>     type: auto
>   } | {
>     number?: string | null,
>     type: provided_number
>   },
>   target: {
>     target_id: number | string,
>     target_type: callcenter | callrouter | channel | coachinggroup | coachingteam | department | office | room | staffgroup | unknown | user
>   }
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `area_code` | `string \| null` | No | — |
| `company_id` | `number \| string \| null` | No | — |
| `deleted` | `boolean \| null` | No | — |
| `number` | `string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `status` | `available \| call_center \| call_router \| call_service \| department \| dynamic_caller \| office \| pending \| porting \| room \| shared_line \| sip_trunk \| user \| string \| null` | No | — |
| `target_id` | `number \| string \| null` | No | — |
| `target_type` | `callcenter \| callrouter \| channel \| coachinggroup \| coachingteam \| department \| office \| room \| staffgroup \| unknown \| user \| string \| null` | No | — |
| `type` | `free \| local \| mobile \| softbank \| tollfree \| string \| null` | No | — |

***

### unassign

`numbers.unassign`

Dialpad Number -- Unassign. Un-assigns a phone number from its target. This does not delete the number: it returns to the company's reserved pool if one exists, and can be reassigned later. Pass "release" to give the number up entirely instead, which cannot be undone. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.numbers.unassign({ path: {"number":"sample-value"}, query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `query` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   number: string
> }
> ```

> [accordion] query full type
>
> ```ts theme={null}
> {
>   release?: boolean
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `area_code` | `string \| null` | No | — |
| `company_id` | `number \| string \| null` | No | — |
| `deleted` | `boolean \| null` | No | — |
| `number` | `string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `status` | `available \| call_center \| call_router \| call_service \| department \| dynamic_caller \| office \| pending \| porting \| room \| shared_line \| sip_trunk \| user \| string \| null` | No | — |
| `target_id` | `number \| string \| null` | No | — |
| `target_type` | `callcenter \| callrouter \| channel \| coachinggroup \| coachingteam \| department \| office \| room \| staffgroup \| unknown \| user \| string \| null` | No | — |
| `type` | `free \| local \| mobile \| softbank \| tollfree \| string \| null` | No | — |

***

## Office Plan

### get

`office_plan.get`

Billing Plan -- Get. Gets an office's billing plan: how many licenses of each line type the office has purchased, its remaining calling-credit balance, and the start of the next billing cycle. This reports licenses that are paid for, not how many are free to assign. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.office_plan.get({ path: {"office_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   office_id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `additional_number_lines` | `number \| string \| null` | No | — |
| `balance` | `string \| null` | No | — |
| `contact_center_lines` | `number \| string \| null` | No | — |
| `fax_lines` | `number \| string \| null` | No | — |
| `next_billing_date` | `number \| string \| null` | No | — |
| `ppu_address` | `object` | No | — |
| `room_lines` | `number \| string \| null` | No | — |
| `sell_lines` | `number \| string \| null` | No | — |
| `state` | `archived \| disputed \| free \| hold \| paid \| trial \| string \| null` | No | — |
| `talk_lines` | `number \| string \| null` | No | — |
| `tollfree_additional_number_lines` | `number \| string \| null` | No | — |
| `tollfree_room_lines` | `number \| string \| null` | No | — |
| `tollfree_uberconference_lines` | `number \| string \| null` | No | — |
| `uberconference_lines` | `number \| string \| null` | No | — |

> [accordion] ppu\_address full type
>
> ```ts theme={null}
> {
>   address_line_1?: string | null,
>   address_line_2?: string | null,
>   city?: string | null,
>   country?: string | null,
>   postal_code?: string | null,
>   region?: string | null
> }
> ```

***

## Offices

### create

`offices.create`

Office -- Create. Creates a secondary office. This provisions a billed entity: currency, plan period and a billing address are all required, and the new office counts against the company's office limit. There is no corresponding delete endpoint, so an office created here can only be removed by support. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.offices.create({ body: {"annual_commit_monthly_billing":false,"billing_address":{"address_line_1":"sample-value","city":"sample-value","country":"sample-value","postal_code":"sample-value","region":"sample-value"},"country":"AE","currency":"AUD","invoiced":false,"name":"sample-value","plan_period":"monthly","unified_billing":false} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   annual_commit_monthly_billing: boolean,
>   auto_call_recording?: boolean | null,
>   billing_address: {
>     address_line_1: string,
>     address_line_2?: string | null,
>     city: string,
>     country: string,
>     postal_code: string,
>     region: string
>   },
>   billing_contact?: {
>     email: string,
>     name: string,
>     phone?: string | null
>   },
>   country: AE | AM | AR | AT | AU | BD | BE | BG | BH | BO | BR | CA | CH | CI | CL | CN | CO | CR | CY | CZ | DE | DK | DO | DP | EC | EE | EG | ES | FI | FR | GB | GH | GR | GT | HK | HR | HU | ID | IE | IL | IN | IS | IT | JP | KE | KH | KR | KZ | LI | LK | LT | LU | LV | MA | MD | MM | MT | MX | MY | NG | NL | NO | NZ | PA | PE | PH | PK | PL | PR | PT | PY | RO | RS | RU | SA | SE | SG | SI | SK | SV | TH | TR | TW | UA | US | UY | VE | VI | VN | ZA,
>   currency: AUD | CAD | EUR | GBP | JPY | NZD | USD,
>   e911_address?: {
>     address: string,
>     address2?: string | null,
>     city: string,
>     country: string,
>     state: string,
>     zip: string
>   },
>   first_action?: menu | operators | null,
>   friday_hours?: string[] | null,
>   group_description?: string | null,
>   hours_on?: boolean | null,
>   international_enabled?: boolean | null,
>   invoiced: boolean,
>   mainline_number?: string | null,
>   monday_hours?: string[] | null,
>   name: string,
>   no_operators_action?: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | null,
>   plan_period: monthly | yearly,
>   ring_seconds?: number | string | null,
>   routing_options?: {
>     closed: {
>       action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail,
>       action_target_id?: number | string,
>       action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user,
>       dtmf?: {
>         input?: string | null,
>         options?: {
>           action?: any,
>           action_target_id?: any,
>           action_target_type?: any
>         }
>       }[],
>       operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based,
>       try_dial_operators: boolean
>     },
>     open: {
>       action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail,
>       action_target_id?: number | string,
>       action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user,
>       dtmf?: {
>         input?: string | null,
>         options?: {
>           action?: any,
>           action_target_id?: any,
>           action_target_type?: any
>         }
>       }[],
>       operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based,
>       try_dial_operators: boolean
>     }
>   },
>   saturday_hours?: string[] | null,
>   sunday_hours?: string[] | null,
>   thursday_hours?: string[] | null,
>   timezone?: string | null,
>   tuesday_hours?: string[] | null,
>   unified_billing: boolean,
>   use_same_address?: boolean | null,
>   voice_intelligence?: {
>     allow_pause?: boolean | null,
>     auto_start?: boolean | null
>   },
>   wednesday_hours?: string[] | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `office` | `object` | No | — |
| `plan` | `object` | No | — |

> [accordion] office full type
>
> ```ts theme={null}
> {
>   availability_status?: closed | holiday_closed | holiday_open | open | string | null,
>   country?: string | null,
>   e911_address?: {
>     address?: string | null,
>     address2?: string | null,
>     city?: string | null,
>     country?: string | null,
>     state?: string | null,
>     zip?: string | null
>   },
>   first_action?: menu | operators | string | null,
>   friday_hours?: string[] | null,
>   id?: number | string | null,
>   is_primary_office?: boolean | null,
>   monday_hours?: string[] | null,
>   name?: string | null,
>   no_operators_action?: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string | null,
>   office_id?: number | string | null,
>   office_settings?: {
>     allow_device_guest_login?: boolean | null,
>     block_caller_id_disabled?: boolean | null,
>     bridged_target_recording_allowed?: boolean | null,
>     disable_desk_phone_self_provision?: boolean | null,
>     disable_ivr_voicemail?: boolean | null,
>     no_recording_message_on_user_calls?: boolean | null,
>     set_caller_id_disabled?: boolean | null
>   },
>   phone_numbers?: string[] | null,
>   ring_seconds?: number | string | null,
>   routing_options?: {
>     closed: {
>       action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>       action_target_id?: number | string,
>       action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>       dtmf?: {
>         input?: any,
>         options?: any
>       }[],
>       operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>       try_dial_operators: boolean
>     },
>     open: {
>       action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>       action_target_id?: number | string,
>       action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>       dtmf?: {
>         input?: any,
>         options?: any
>       }[],
>       operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>       try_dial_operators: boolean
>     }
>   },
>   saturday_hours?: string[] | null,
>   state?: active | cancelled | deleted | pending | suspended | string | null,
>   sunday_hours?: string[] | null,
>   thursday_hours?: string[] | null,
>   timezone?: string | null,
>   tuesday_hours?: string[] | null,
>   voicemail_notification_emails?: string[] | null,
>   wednesday_hours?: string[] | null
> }
> ```

> [accordion] plan full type
>
> ```ts theme={null}
> {
>   additional_number_lines?: number | string | null,
>   balance?: string | null,
>   contact_center_lines?: number | string | null,
>   fax_lines?: number | string | null,
>   next_billing_date?: number | string | null,
>   ppu_address?: {
>     address_line_1?: string | null,
>     address_line_2?: string | null,
>     city?: string | null,
>     country?: string | null,
>     postal_code?: string | null,
>     region?: string | null
>   },
>   room_lines?: number | string | null,
>   sell_lines?: number | string | null,
>   state?: archived | disputed | free | hold | paid | trial | string | null,
>   talk_lines?: number | string | null,
>   tollfree_additional_number_lines?: number | string | null,
>   tollfree_room_lines?: number | string | null,
>   tollfree_uberconference_lines?: number | string | null,
>   uberconference_lines?: number | string | null
> }
> ```

***

### e911.get

`offices.e911.get`

E911 Address -- Get. Gets E911 address of the office by office id. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.offices.e911.get({ path: {"id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `address` | `string \| null` | No | — |
| `address2` | `string \| null` | No | — |
| `city` | `string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `state` | `string \| null` | No | — |
| `zip` | `string \| null` | No | — |

***

### e911.update

`offices.e911.update`

E911 Address -- Update. Update E911 address of the given office. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.offices.e911.update({ path: {"id":1}, body: {"address":"sample-value","city":"sample-value","country":"sample-value","state":"sample-value","zip":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   address: string,
>   address2?: string | null,
>   city: string,
>   country: string,
>   state: string,
>   update_all?: boolean | null,
>   use_validated_option?: boolean | null,
>   zip: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `address` | `string \| null` | No | — |
| `address2` | `string \| null` | No | — |
| `city` | `string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `state` | `string \| null` | No | — |
| `zip` | `string \| null` | No | — |

***

### get

`offices.get`

Office -- Get. Gets an office by id. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.offices.get({ path: {"id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `availability_status` | `closed \| holiday_closed \| holiday_open \| open \| string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `e911_address` | `object` | No | — |
| `first_action` | `menu \| operators \| string \| null` | No | — |
| `friday_hours` | `string[] \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `is_primary_office` | `boolean \| null` | No | — |
| `monday_hours` | `string[] \| null` | No | — |
| `name` | `string \| null` | No | — |
| `no_operators_action` | `ai_agent \| bridge_target \| call_service_target \| company_directory \| department \| directory \| disabled \| extension \| google_dialogflow \| last_name_company_directory \| last_name_directory \| menu \| message \| operator \| person \| recursive_transfer \| scripted_ivr \| voicemail \| string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `office_settings` | `object` | No | — |
| `phone_numbers` | `string[] \| null` | No | — |
| `ring_seconds` | `number \| string \| null` | No | — |
| `routing_options` | `object` | No | — |
| `saturday_hours` | `string[] \| null` | No | — |
| `state` | `active \| cancelled \| deleted \| pending \| suspended \| string \| null` | No | — |
| `sunday_hours` | `string[] \| null` | No | — |
| `thursday_hours` | `string[] \| null` | No | — |
| `timezone` | `string \| null` | No | — |
| `tuesday_hours` | `string[] \| null` | No | — |
| `voicemail_notification_emails` | `string[] \| null` | No | — |
| `wednesday_hours` | `string[] \| null` | No | — |

> [accordion] e911\_address full type
>
> ```ts theme={null}
> {
>   address?: string | null,
>   address2?: string | null,
>   city?: string | null,
>   country?: string | null,
>   state?: string | null,
>   zip?: string | null
> }
> ```

> [accordion] office\_settings full type
>
> ```ts theme={null}
> {
>   allow_device_guest_login?: boolean | null,
>   block_caller_id_disabled?: boolean | null,
>   bridged_target_recording_allowed?: boolean | null,
>   disable_desk_phone_self_provision?: boolean | null,
>   disable_ivr_voicemail?: boolean | null,
>   no_recording_message_on_user_calls?: boolean | null,
>   set_caller_id_disabled?: boolean | null
> }
> ```

> [accordion] routing\_options full type
>
> ```ts theme={null}
> {
>   closed: {
>     action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>     action_target_id?: number | string,
>     action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>     dtmf?: {
>       input?: string | null,
>       options?: {
>         action?: any,
>         action_target_id?: any,
>         action_target_type?: any
>       }
>     }[],
>     operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>     try_dial_operators: boolean
>   },
>   open: {
>     action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>     action_target_id?: number | string,
>     action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>     dtmf?: {
>       input?: string | null,
>       options?: {
>         action?: any,
>         action_target_id?: any,
>         action_target_type?: any
>       }
>     }[],
>     operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>     try_dial_operators: boolean
>   }
> }
> ```

***

### list

`offices.list`

Office -- List. Gets the offices in the company. The result set depends on the caller: company admins get every office, while a user-level key gets only the offices that user belongs to. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.offices.list({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   cursor?: string,
>   name_search?: string,
>   active_only?: boolean
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   availability_status?: closed | holiday_closed | holiday_open | open | string | null,
>   country?: string | null,
>   e911_address?: {
>     address?: string | null,
>     address2?: string | null,
>     city?: string | null,
>     country?: string | null,
>     state?: string | null,
>     zip?: string | null
>   },
>   first_action?: menu | operators | string | null,
>   friday_hours?: string[] | null,
>   id?: number | string | null,
>   is_primary_office?: boolean | null,
>   monday_hours?: string[] | null,
>   name?: string | null,
>   no_operators_action?: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string | null,
>   office_id?: number | string | null,
>   office_settings?: {
>     allow_device_guest_login?: boolean | null,
>     block_caller_id_disabled?: boolean | null,
>     bridged_target_recording_allowed?: boolean | null,
>     disable_desk_phone_self_provision?: boolean | null,
>     disable_ivr_voicemail?: boolean | null,
>     no_recording_message_on_user_calls?: boolean | null,
>     set_caller_id_disabled?: boolean | null
>   },
>   phone_numbers?: string[] | null,
>   ring_seconds?: number | string | null,
>   routing_options?: {
>     closed: {
>       action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>       action_target_id?: number | string,
>       action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>       dtmf?: any[],
>       operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>       try_dial_operators: boolean
>     },
>     open: {
>       action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>       action_target_id?: number | string,
>       action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>       dtmf?: any[],
>       operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>       try_dial_operators: boolean
>     }
>   },
>   saturday_hours?: string[] | null,
>   state?: active | cancelled | deleted | pending | suspended | string | null,
>   sunday_hours?: string[] | null,
>   thursday_hours?: string[] | null,
>   timezone?: string | null,
>   tuesday_hours?: string[] | null,
>   voicemail_notification_emails?: string[] | null,
>   wednesday_hours?: string[] | null
> }[] | null
> ```

***

### offdutystatuses.get

`offices.offdutystatuses.get`

Off-Duty Status -- List. Lists Off-Duty status values. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.offices.offdutystatuses.get({ path: {"id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `number \| string \| null` | No | — |
| `off_duty_statuses` | `string[] \| null` | No | — |

***

### operators.delete

`offices.operators.delete`

Operator -- Remove. Removes an operator from office's mainline. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.offices.operators.delete({ path: {"id":1}, body: {"operator_id":1,"operator_type":"room"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   operator_id: number | string,
>   operator_type: room | user
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `number \| string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `image_url` | `string \| null` | No | — |
| `is_on_duty` | `boolean \| null` | No | — |
| `name` | `string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `phone_numbers` | `string[] \| null` | No | — |
| `state` | `active \| cancelled \| deleted \| pending \| suspended \| string \| null` | No | — |

***

### operators.get

`offices.operators.get`

Operator -- List. Gets mainline operators for an office. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.offices.operators.get({ path: {"id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `rooms` | `object[] \| null` | No | — |
| `users` | `object[] \| null` | No | — |

> [accordion] rooms full type
>
> ```ts theme={null}
> {
>   company_id?: number | string | null,
>   country?: string | null,
>   id?: number | string | null,
>   image_url?: string | null,
>   is_free?: boolean | null,
>   is_on_duty?: boolean | null,
>   name?: string | null,
>   office_id?: number | string | null,
>   phone_numbers?: string[] | null,
>   state?: active | cancelled | deleted | pending | suspended | string | null
> }[] | null
> ```

> [accordion] users full type
>
> ```ts theme={null}
> {
>   admin_office_ids?: (number | string)[] | null,
>   company_id?: number | string | null,
>   country?: string | null,
>   date_active?: string | null,
>   date_added?: string | null,
>   date_first_login?: string | null,
>   date_last_login?: string,
>   display_name?: string | null,
>   do_not_disturb?: boolean | null,
>   duty_status_reason?: string | null,
>   duty_status_started?: string | null,
>   emails?: string[] | null,
>   extension?: string | null,
>   first_name?: string | null,
>   forwarding_numbers?: string[] | null,
>   group_details?: {
>     do_not_disturb?: boolean | null,
>     group_id?: number | string | null,
>     group_type?: callcenter | callrouter | channel | coachinggroup | coachingteam | department | office | room | staffgroup | unknown | user | string | null,
>     role?: admin | operator | supervisor | string | null
>   }[] | null,
>   id?: number | string | null,
>   image_url?: string | null,
>   international_dialing_enabled?: boolean | null,
>   is_admin?: boolean | null,
>   is_available?: boolean | null,
>   is_company_admin?: boolean | null,
>   is_on_duty?: boolean | null,
>   is_online?: boolean | null,
>   is_super_admin?: boolean | null,
>   job_title?: string | null,
>   language?: string | null,
>   last_name?: string | null,
>   license?: admins | agents | dpde_all | dpde_one | lite_lines | lite_support_agents | magenta_lines | talk | user | string | null,
>   location?: string | null,
>   muted?: boolean | null,
>   office_id?: number | string | null,
>   on_duty_started?: string | null,
>   on_duty_status?: available | busy | occupied | occupied-end | unavailable | wrapup | wrapup-end | string | null,
>   onboarding_completed: boolean,
>   phone_numbers?: string[] | null,
>   remote_service?: string | null,
>   session_type?: call | digital | string | null,
>   state?: active | cancelled | deleted | pending | suspended | string | null,
>   status_message?: string | null,
>   timezone?: string | null,
>   voicemail: {
>     is_default_voicemail?: boolean,
>     name?: string | null,
>     voicemail_notifications_enabled?: boolean
>   }
> }[] | null
> ```

***

### operators.post

`offices.operators.post`

Operator -- Add. Adds an operator into office's mainline. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.offices.operators.post({ path: {"id":1}, body: {"operator_id":1,"operator_type":"room"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   operator_id: number | string,
>   operator_type: room | user,
>   role?: admin | operator | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `number \| string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `image_url` | `string \| null` | No | — |
| `is_on_duty` | `boolean \| null` | No | — |
| `name` | `string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `phone_numbers` | `string[] \| null` | No | — |
| `state` | `active \| cancelled \| deleted \| pending \| suspended \| string \| null` | No | — |

***

### primary.get

`offices.primary.get`

Office -- Get Primary. Gets the primary office for the company. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.offices.primary.get({  });
```

**Input:** *empty object*

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `availability_status` | `closed \| holiday_closed \| holiday_open \| open \| string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `e911_address` | `object` | No | — |
| `first_action` | `menu \| operators \| string \| null` | No | — |
| `friday_hours` | `string[] \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `is_primary_office` | `boolean \| null` | No | — |
| `monday_hours` | `string[] \| null` | No | — |
| `name` | `string \| null` | No | — |
| `no_operators_action` | `ai_agent \| bridge_target \| call_service_target \| company_directory \| department \| directory \| disabled \| extension \| google_dialogflow \| last_name_company_directory \| last_name_directory \| menu \| message \| operator \| person \| recursive_transfer \| scripted_ivr \| voicemail \| string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `office_settings` | `object` | No | — |
| `phone_numbers` | `string[] \| null` | No | — |
| `ring_seconds` | `number \| string \| null` | No | — |
| `routing_options` | `object` | No | — |
| `saturday_hours` | `string[] \| null` | No | — |
| `state` | `active \| cancelled \| deleted \| pending \| suspended \| string \| null` | No | — |
| `sunday_hours` | `string[] \| null` | No | — |
| `thursday_hours` | `string[] \| null` | No | — |
| `timezone` | `string \| null` | No | — |
| `tuesday_hours` | `string[] \| null` | No | — |
| `voicemail_notification_emails` | `string[] \| null` | No | — |
| `wednesday_hours` | `string[] \| null` | No | — |

> [accordion] e911\_address full type
>
> ```ts theme={null}
> {
>   address?: string | null,
>   address2?: string | null,
>   city?: string | null,
>   country?: string | null,
>   state?: string | null,
>   zip?: string | null
> }
> ```

> [accordion] office\_settings full type
>
> ```ts theme={null}
> {
>   allow_device_guest_login?: boolean | null,
>   block_caller_id_disabled?: boolean | null,
>   bridged_target_recording_allowed?: boolean | null,
>   disable_desk_phone_self_provision?: boolean | null,
>   disable_ivr_voicemail?: boolean | null,
>   no_recording_message_on_user_calls?: boolean | null,
>   set_caller_id_disabled?: boolean | null
> }
> ```

> [accordion] routing\_options full type
>
> ```ts theme={null}
> {
>   closed: {
>     action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>     action_target_id?: number | string,
>     action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>     dtmf?: {
>       input?: string | null,
>       options?: {
>         action?: any,
>         action_target_id?: any,
>         action_target_type?: any
>       }
>     }[],
>     operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>     try_dial_operators: boolean
>   },
>   open: {
>     action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>     action_target_id?: number | string,
>     action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>     dtmf?: {
>       input?: string | null,
>       options?: {
>         action?: any,
>         action_target_id?: any,
>         action_target_type?: any
>       }
>     }[],
>     operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>     try_dial_operators: boolean
>   }
> }
> ```

***

### update

`offices.update`

Office -- Update. Updates an office's business hours. Only the hours-of-operation fields listed below can be changed here -- name, billing and routing settings are not editable through this endpoint. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.offices.update({ path: {"id":1}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   friday_hours?: string[] | null,
>   hours_on?: boolean | null,
>   monday_hours?: string[] | null,
>   saturday_hours?: string[] | null,
>   sunday_hours?: string[] | null,
>   thursday_hours?: string[] | null,
>   tuesday_hours?: string[] | null,
>   wednesday_hours?: string[] | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `office` | `object` | No | — |
| `plan` | `object` | No | — |

> [accordion] office full type
>
> ```ts theme={null}
> {
>   availability_status?: closed | holiday_closed | holiday_open | open | string | null,
>   country?: string | null,
>   e911_address?: {
>     address?: string | null,
>     address2?: string | null,
>     city?: string | null,
>     country?: string | null,
>     state?: string | null,
>     zip?: string | null
>   },
>   first_action?: menu | operators | string | null,
>   friday_hours?: string[] | null,
>   id?: number | string | null,
>   is_primary_office?: boolean | null,
>   monday_hours?: string[] | null,
>   name?: string | null,
>   no_operators_action?: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string | null,
>   office_id?: number | string | null,
>   office_settings?: {
>     allow_device_guest_login?: boolean | null,
>     block_caller_id_disabled?: boolean | null,
>     bridged_target_recording_allowed?: boolean | null,
>     disable_desk_phone_self_provision?: boolean | null,
>     disable_ivr_voicemail?: boolean | null,
>     no_recording_message_on_user_calls?: boolean | null,
>     set_caller_id_disabled?: boolean | null
>   },
>   phone_numbers?: string[] | null,
>   ring_seconds?: number | string | null,
>   routing_options?: {
>     closed: {
>       action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>       action_target_id?: number | string,
>       action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>       dtmf?: {
>         input?: any,
>         options?: any
>       }[],
>       operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>       try_dial_operators: boolean
>     },
>     open: {
>       action: ai_agent | bridge_target | call_service_target | company_directory | department | directory | disabled | extension | google_dialogflow | last_name_company_directory | last_name_directory | menu | message | operator | person | recursive_transfer | scripted_ivr | voicemail | string,
>       action_target_id?: number | string,
>       action_target_type?: callcenter | callrouter | channel | coachinggroup | contact | contactgroup | department | office | room | staffgroup | unknown | user | string,
>       dtmf?: {
>         input?: any,
>         options?: any
>       }[],
>       operator_routing?: autopark | fixedorder | longestidle | mostskilled | pinned_leg | plivo_address | random | roundrobin | simultaneous | skills_based | string,
>       try_dial_operators: boolean
>     }
>   },
>   saturday_hours?: string[] | null,
>   state?: active | cancelled | deleted | pending | suspended | string | null,
>   sunday_hours?: string[] | null,
>   thursday_hours?: string[] | null,
>   timezone?: string | null,
>   tuesday_hours?: string[] | null,
>   voicemail_notification_emails?: string[] | null,
>   wednesday_hours?: string[] | null
> }
> ```

> [accordion] plan full type
>
> ```ts theme={null}
> {
>   additional_number_lines?: number | string | null,
>   balance?: string | null,
>   contact_center_lines?: number | string | null,
>   fax_lines?: number | string | null,
>   next_billing_date?: number | string | null,
>   ppu_address?: {
>     address_line_1?: string | null,
>     address_line_2?: string | null,
>     city?: string | null,
>     country?: string | null,
>     postal_code?: string | null,
>     region?: string | null
>   },
>   room_lines?: number | string | null,
>   sell_lines?: number | string | null,
>   state?: archived | disputed | free | hold | paid | trial | string | null,
>   talk_lines?: number | string | null,
>   tollfree_additional_number_lines?: number | string | null,
>   tollfree_room_lines?: number | string | null,
>   tollfree_uberconference_lines?: number | string | null,
>   uberconference_lines?: number | string | null
> }
> ```

***

## Phone Number

### format

`phone_number.format`

Phone String -- Reformat. Converts a phone number between local and E.164 format. Returns the E.164 number, the formatted local number, the area code, and the ISO country code. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.phone_number.format({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   country_code?: string,
>   number?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `area_code` | `string \| null` | No | — |
| `country_code` | `string \| null` | No | — |
| `e164_number` | `string \| null` | No | — |
| `local_number` | `string \| null` | No | — |

***

## Powerdialer

### bulkUpdateLeadItems

`powerdialer.bulkUpdateLeadItems`

Bulk update LeadListItems. Update multiple LeadListItems in a single operation. Only updates items in 'pending' state.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.bulkUpdateLeadItems({ body: {"item_ids":[],"state":"cancelled"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | Yes | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   item_ids: string[],
>   state: cancelled
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `skipped` | `object[]` | Yes | — |
| `successful_ids` | `string[]` | Yes | — |
| `summary` | `object` | Yes | — |

> [accordion] skipped full type
>
> ```ts theme={null}
> {
>   actual_state?: string | any | null,
>   expected_state?: string | any | null,
>   id: string,
>   reason: string
> }[]
> ```

> [accordion] summary full type
>
> ```ts theme={null}
> {
>   successful_count: number | string,
>   total_processed: number | string
> }
> ```

***

### createApiKey

`powerdialer.createApiKey`

Create API Key. Issue a key acting as the caller, or as a service account (admins only). This is the only response that ever includes the secret, as `token_full` - store it

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.createApiKey({ body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   name?: string | any | null,
>   service_account_id?: string | any | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `number \| string` | Yes | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `name` | `string \| any \| null` | No | — |
| `service_account_id` | `string` | No | — |
| `service_account_key` | `string` | No | — |
| `tags` | `any[]` | No | — |
| `token` | `string` | No | — |
| `token_full` | `string` | Yes | — |
| `token_hash` | `string \| any \| null` | No | — |
| `token_tail` | `string` | No | — |
| `type` | `base \| public \| dialer \| string` | Yes | — |
| `user_id` | `string` | No | — |
| `user_key` | `string` | No | — |

***

### createAudience

`powerdialer.createAudience`

Create an Audience. Create an Audience

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.createAudience({ body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   name?: string | any | null,
>   query?: {
>     field: string,
>     op: = | ~= | != |
>   > | < |>= | <= | ^= | $= | !! | ~~, value?: string | number | string | any | null} | {
>     combiner: AND | OR,
>     conditions: (any | any)[]
>   },
>   state?: pending | active | deleted
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `audience_id` | `string` | Yes | — |
| `author_dp_key` | `string \| any \| null` | No | — |
| `author_id` | `string` | No | — |
| `author_key` | `string` | No | — |
| `company_id` | `number \| string` | Yes | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `name` | `string \| any \| null` | No | — |
| `num_rows` | `number \| string` | No | — |
| `query` | `object \| < \| >= \| <= \| ^= \| $= \| !! \| ~~ \| string, value?: string \| number \| string \| any \| null }` | No | — |
| `sort_name` | `string \| any \| null` | No | — |
| `state` | `pending \| active \| deleted \| string` | No | — |
| `tags` | `any[]` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   field: string,
>   op: = | ~= | != |
> > | < |>= | <= | ^= | $= | !! | ~~ | string, value?: string | number | string | any | null} | {
>   combiner: AND | OR | string,
>   conditions: (any | any)[]
> }
> ```

***

### createBot

`powerdialer.createBot`

Create Bot. Create a new Bot representing a kare widget

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.createBot({ body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   app_id?: string,
>   name?: string,
>   template?: string | any | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_id` | `string` | No | — |
| `author_dp_key` | `string \| any \| null` | No | — |
| `author_id` | `string` | No | — |
| `author_key` | `string` | No | — |
| `bot_id` | `string` | Yes | — |
| `company_id` | `number \| string` | Yes | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `name` | `string` | No | — |
| `org_id` | `string \| any \| null` | No | — |
| `sort_name` | `string \| any \| null` | No | — |
| `tags` | `any[]` | No | — |
| `template` | `string \| any \| null` | No | — |

***

### createBotDialog

`powerdialer.createBotDialog`

Create Bot Dialog. Create a pending BotDialog and start the dialog job: init a kare converse conversation, connect its websocket, and send `text` as the first message

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.createBotDialog({ body: {"bot_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   bot_id: string,
>   template_data?: {
>   },
>   text?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `author_dp_key` | `string \| any \| null` | No | — |
| `author_id` | `string` | No | — |
| `author_key` | `string` | No | — |
| `bot_dialog_id` | `string` | Yes | — |
| `bot_id` | `string` | Yes | — |
| `company_id` | `number \| string` | Yes | — |
| `conv_id` | `string \| any \| null` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_last_message` | `number \| string` | No | — |
| `date_last_message_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `state` | `pending \| active \| ended \| error \| string` | No | — |
| `template_data` | `object` | No | — |

> [accordion] template\_data full type
>
> ```ts theme={null}
> {
> }
> ```

***

### createBotMessage

`powerdialer.createBotMessage`

Create Bot Message. Queue a new user message on an open BotDialog. The dialog job sends pending messages into the socket and marks them sent.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.createBotMessage({ body: {"bot_dialog_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   bot_dialog_id: string,
>   text?: string | any | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `bot_dialog_id` | `string` | Yes | — |
| `bot_message_id` | `string` | Yes | — |
| `company_id` | `number \| string` | Yes | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `direction` | `in \| out \| string` | Yes | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `state` | `pending \| sent \| received \| error \| string` | No | — |
| `text` | `string \| any \| null` | No | — |

***

### createCampaign

`powerdialer.createCampaign`

Create Campaign. Create a new Campaign associated with a Dialpad Target

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.createCampaign({ body: {"group_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   ai_agent_settings?: {
>     agent_id?: string | any | null,
>     provider_name?: kare | any | null
>   } | any | null,
>   auto_create?: boolean,
>   caller_id?: string | any | null,
>   date_scheduled_end?: string | any | null,
>   date_scheduled_start?: string | any | null,
>   description?: string,
>   group_id: number | string,
>   is_dynamic?: boolean,
>   name?: string,
>   office_id?: number | string | any | null,
>   post_bot_id?: string | any | null,
>   queries?: (
>     {
>       field: string,
>       op: = | ~= | != |
>     > | < |>= | <= | ^= | $= | !! | ~~, value?: any | any | any} | {
>       combiner: AND | OR,
>       conditions: any[]
>     }
>   )[],
>   set_timegate?: boolean,
>   settings?: string | any | null,
>   shared_list?: string | any | null,
>   strategy?: progressive | predictive | preview | ai_progressive | ai_predictive
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `author_dp_key` | `string \| any \| null` | No | — |
| `author_id` | `string` | No | — |
| `author_key` | `string` | No | — |
| `caller_id` | `string \| any \| null` | No | — |
| `campaign_group_id` | `string` | No | — |
| `campaign_group_key` | `string` | No | — |
| `campaign_group_order` | `number \| string \| any \| null` | No | — |
| `campaign_id` | `string` | Yes | — |
| `company_id` | `number \| string` | Yes | — |
| `date_archived` | `number \| string` | No | — |
| `date_archived_iso` | `string` | No | — |
| `date_audience_computed` | `number \| string` | No | — |
| `date_audience_computed_iso` | `string` | No | — |
| `date_computed` | `number \| string` | No | — |
| `date_computed_iso` | `string` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_ended` | `number \| string` | No | — |
| `date_ended_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `date_paused` | `number \| string` | No | — |
| `date_paused_iso` | `string` | No | — |
| `date_scheduled_end` | `number \| string` | No | — |
| `date_scheduled_end_iso` | `string` | No | — |
| `date_scheduled_start` | `number \| string` | No | — |
| `date_scheduled_start_iso` | `string` | No | — |
| `date_started` | `number \| string` | No | — |
| `date_started_iso` | `string` | No | — |
| `description` | `string` | No | — |
| `event_logs_gcs_filename` | `string` | No | — |
| `flow_id` | `string` | No | — |
| `flow_key` | `string` | No | — |
| `gcs_filename` | `string` | No | — |
| `group_id` | `number \| string` | No | — |
| `id` | `string` | Yes | — |
| `is_dynamic` | `boolean` | No | — |
| `key` | `string` | Yes | — |
| `lead_list_id` | `string` | No | — |
| `lead_list_key` | `string` | No | — |
| `name` | `string` | No | — |
| `num_items` | `number \| string` | No | — |
| `num_pending` | `number \| string` | No | — |
| `office_id` | `number \| string \| any \| null` | No | — |
| `priority` | `number \| string \| any \| null` | No | — |
| `progress` | `number \| any \| null` | No | — |
| `queries` | `object[]` | No | — |
| `settings_id` | `string` | No | — |
| `settings_key` | `string` | No | — |
| `shared_list_id` | `string` | No | — |
| `shared_list_key` | `string` | No | — |
| `sort_name` | `string \| any \| null` | No | — |
| `source_list_ids` | `any[]` | No | — |
| `state` | `pending \| launching \| scheduled \| active \| paused \| complete \| error \| deleted \| cancelled \| string` | No | — |
| `strategy` | `progressive \| predictive \| preview \| ai_progressive \| ai_predictive \| string` | No | — |
| `tags` | `any[]` | No | — |
| `target_id` | `string` | No | — |
| `target_key` | `string` | No | — |

> [accordion] queries full type
>
> ```ts theme={null}
> (
>   {
>     field: string,
>     op: = | ~= | != |
>   > | < |>= | <= | ^= | $= | !! | ~~ | string, value?: any | any | any} | {
>     combiner: AND | OR | string,
>     conditions: any[]
>   }
> )[]
> ```

***

### createCampaignGroup

`powerdialer.createCampaignGroup`

Create Campaign Group. Create Campaign Group

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.createCampaignGroup({ body: {"group_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   description?: string,
>   group_id: number | string,
>   name?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `author_dp_key` | `string \| any \| null` | No | — |
| `author_id` | `string` | No | — |
| `author_key` | `string` | No | — |
| `campaign_group_id` | `string` | Yes | — |
| `company_id` | `number \| string` | Yes | — |
| `date_computed` | `number \| string` | No | — |
| `date_computed_iso` | `string` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `description` | `string` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `name` | `string` | No | — |
| `office_id` | `number \| string \| any \| null` | No | — |
| `state` | `pending \| launching \| scheduled \| active \| paused \| complete \| error \| deleted \| cancelled \| string` | No | — |
| `tags` | `any[]` | No | — |
| `target_id` | `string` | No | — |
| `target_key` | `string` | No | — |
| `wrr_credits` | `object` | No | — |

> [accordion] wrr\_credits full type
>
> ```ts theme={null}
> {
> }
> ```

***

### createCustomProperties

`powerdialer.createCustomProperties`

Create or Update Custom Properties. Create or update custom properties in bulk. Uses upsert semantics: if a property with the same name already exists, it will be updated with the new values. Otherwise, a new property will be created. Property names must contain only alphanumeric characters and underscores.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.createCustomProperties({ body: {"properties":[]} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | Yes | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   properties: {
>     display_name?: string | any | null,
>     name: string
>   }[]
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   company_id: number | string,
>   date_created?: number | string,
>   date_created_iso?: string,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   display_name?: string | any | null,
>   id: string,
>   key: string,
>   name: string,
>   sort_name?: string | any | null
> }[]
> ```

***

### createLeadList

`powerdialer.createLeadList`

Create a shared LeadList. Create a new shared LeadList

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.createLeadList({ body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   audience_ids?: any[],
>   csv_ids?: any[],
>   is_shared?: boolean,
>   lead_order?: any[],
>   name?: string,
>   office_id?: number | string | any | null,
>   salesforce_listview_id?: string | any | null,
>   static_list_ids?: any[]
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `audience_ids` | `any[]` | No | — |
| `audience_keys` | `any[]` | No | — |
| `author_dp_key` | `string \| any \| null` | No | — |
| `author_id` | `string` | No | — |
| `author_key` | `string` | No | — |
| `company_id` | `number \| string` | Yes | — |
| `csv_columns` | `any[]` | No | — |
| `csv_ids` | `any[]` | No | — |
| `csv_keys` | `any[]` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `date_user_modified` | `number \| string` | No | — |
| `date_user_modified_iso` | `string` | No | — |
| `id` | `string` | Yes | — |
| `is_shared` | `boolean` | No | — |
| `key` | `string` | Yes | — |
| `last_author_dp_key` | `string \| any \| null` | No | — |
| `last_author_id_id` | `string` | No | — |
| `last_author_id_key` | `string` | No | — |
| `lead_order` | `any[]` | No | — |
| `list_id` | `string` | Yes | — |
| `name` | `string` | No | — |
| `num_csv_rows` | `number \| string` | No | — |
| `num_manual_rows` | `number \| string` | No | — |
| `num_query_rows` | `number \| string` | No | — |
| `num_rows` | `number \| string` | No | — |
| `num_snapshot_rows` | `number \| string` | No | — |
| `office_id` | `number \| string \| any \| null` | No | — |
| `salesforce_listview_id` | `string \| any \| null` | No | — |
| `sort_name` | `string \| any \| null` | No | — |
| `static_list_ids` | `any[]` | No | — |
| `static_list_keys` | `any[]` | No | — |
| `tags` | `any[]` | No | — |

***

### createLeads

`powerdialer.createLeads`

Create Lead. Create a Lead, and optionally add it to a campaign

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.createLeads({ body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   addresses?: {
>     city?: string | any | null,
>     country?: string | any | null,
>     line1?: string | any | null,
>     line2?: string | any | null,
>     name?: string | any | null,
>     postal_code?: string | any | null,
>     region?: string | any | null
>   }[],
>   campaign_id?: string,
>   custom?: {
>   },
>   department?: string | any | null,
>   emails?: {
>     domain?: string | any | null,
>     email: string,
>     label?: string | any | null
>   }[],
>   engagement_score?: number | string | any | null,
>   external_id?: string | any | null,
>   first_name?: string | any | null,
>   industry?: string | any | null,
>   job_title?: string | any | null,
>   lang?: string | any | null,
>   last_name?: string | any | null,
>   lead_company_id?: string | any | null,
>   lead_score?: number | string | any | null,
>   lead_source?: api | receptionist | any | null,
>   phone_number?: string,
>   phones?: {
>     country?: string | any | null,
>     display?: string | any | null,
>     label?: string | any | null,
>     number: string
>   }[],
>   preferred_medium?: string | any | null,
>   role?: string | any | null,
>   tags?: any[],
>   timezone?: string | any | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `addresses` | `object[]` | No | — |
| `company_id` | `number \| string` | Yes | — |
| `contact_id` | `string \| any \| null` | No | — |
| `contact_type` | `string \| any \| null` | No | — |
| `csv_id` | `string \| any \| null` | No | — |
| `csv_line` | `number \| string \| any \| null` | No | — |
| `custom` | `object` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_first_contacted` | `number \| string` | No | — |
| `date_first_contacted_iso` | `string` | No | — |
| `date_last_contacted` | `number \| string` | No | — |
| `date_last_contacted_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `department` | `string \| any \| null` | No | — |
| `emails` | `object[]` | No | — |
| `engagement_score` | `number \| string \| any \| null` | No | — |
| `external_id` | `string \| any \| null` | No | — |
| `first_name` | `string \| any \| null` | No | — |
| `home_phone` | `string \| any \| null` | No | — |
| `id` | `string` | Yes | — |
| `image_url` | `string` | No | — |
| `industry` | `string \| any \| null` | No | — |
| `job_title` | `string \| any \| null` | No | — |
| `key` | `string` | Yes | — |
| `lang` | `string \| any \| null` | No | — |
| `last_medium` | `string \| any \| null` | No | — |
| `last_name` | `string \| any \| null` | No | — |
| `lead_company_id` | `string \| any \| null` | No | — |
| `lead_id` | `string` | Yes | — |
| `lead_score` | `number \| string \| any \| null` | No | — |
| `lead_source` | `hubspot \| csv \| callback \| api \| salesforce \| receptionist \| string` | No | — |
| `mobile_phone` | `string \| any \| null` | No | — |
| `name` | `string` | No | — |
| `owner_id` | `string \| any \| null` | No | — |
| `owner_type` | `string \| any \| null` | No | — |
| `phones` | `object[]` | No | — |
| `preferred_medium` | `string \| any \| null` | No | — |
| `primary_address` | `object \| any \| null` | No | — |
| `primary_email` | `string \| any \| null` | No | — |
| `primary_phone` | `string \| any \| null` | No | — |
| `remote_id` | `string \| any \| null` | No | — |
| `role` | `string \| any \| null` | No | — |
| `secondary_email` | `string \| any \| null` | No | — |
| `secondary_phone` | `string \| any \| null` | No | — |
| `state` | `pending \| active \| deleted \| string` | No | — |
| `tags` | `any[]` | No | — |
| `timezone` | `string \| any \| null` | No | — |

> [accordion] addresses full type
>
> ```ts theme={null}
> {
>   city?: string | any | null,
>   country?: string | any | null,
>   line1?: string | any | null,
>   line2?: string | any | null,
>   name?: string | any | null,
>   postal_code?: string | any | null,
>   region?: string | any | null
> }[]
> ```

> [accordion] custom full type
>
> ```ts theme={null}
> {
> }
> ```

> [accordion] emails full type
>
> ```ts theme={null}
> {
>   domain?: string | any | null,
>   email: string,
>   label?: string | any | null
> }[]
> ```

> [accordion] phones full type
>
> ```ts theme={null}
> {
>   country?: string | any | null,
>   display?: string | any | null,
>   label?: string | any | null,
>   number: string
> }[]
> ```

> [accordion] primary\_address full type
>
> ```ts theme={null}
> {
> } | any | null
> ```

***

### createPhone

`powerdialer.createPhone`

Create a Phone. Create a Phone entry to the company DNC/DNT table

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.createPhone({ body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   consent?: implied | consent | written_consent | revoked,
>   date_dnc_expires?: string | any | null,
>   date_dnc_opt_out?: string | any | null,
>   date_dnt_expires?: string | any | null,
>   date_dnt_opt_out?: string | any | null,
>   dnc?: boolean | any | null,
>   dnc_scope?: powerdialer | ever,
>   dnt?: boolean | any | null,
>   dnt_scope?: powerdialer | ever,
>   e164?: string,
>   label?: mobile | work | home | other,
>   state?: active | deleted,
>   tags?: any[],
>   validity?: good | unverified | disconnected | fax | spam | wrong_number
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `number \| string` | Yes | — |
| `consent` | `implied \| consent \| written_consent \| revoked \| string` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_dnc_expires` | `number \| string` | No | — |
| `date_dnc_expires_iso` | `string` | No | — |
| `date_dnc_opt_out` | `number \| string` | No | — |
| `date_dnc_opt_out_iso` | `string` | No | — |
| `date_dnt_expires` | `number \| string` | No | — |
| `date_dnt_expires_iso` | `string` | No | — |
| `date_dnt_opt_out` | `number \| string` | No | — |
| `date_dnt_opt_out_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `dnc` | `boolean \| any \| null` | No | — |
| `dnc_scope` | `powerdialer \| ever \| string` | No | — |
| `dnt` | `boolean \| any \| null` | No | — |
| `dnt_scope` | `powerdialer \| ever \| string` | No | — |
| `e164` | `string` | Yes | — |
| `formatted_phone` | `string \| any \| null` | No | — |
| `id` | `string` | Yes | — |
| `is_dnc_expired` | `boolean` | No | — |
| `is_dnt_expired` | `boolean` | No | — |
| `key` | `string` | Yes | — |
| `label` | `mobile \| work \| home \| other \| string` | No | — |
| `last_author_dp_key` | `string \| any \| null` | No | — |
| `last_author_id` | `string \| any \| null` | No | — |
| `last_csv_id` | `string \| any \| null` | No | — |
| `last_source` | `api \| csv \| dp_contact \| string` | No | — |
| `state` | `active \| deleted \| string` | No | — |
| `tags` | `any[]` | No | — |
| `timezone` | `string \| any \| null` | No | — |
| `validity` | `good \| unverified \| disconnected \| fax \| spam \| wrong_number \| string` | No | — |

***

### createRule

`powerdialer.createRule`

Create rule for a campaign. Create a rule for a campaign

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.createRule({ body: {"type":"call"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   campaign_id?: string,
>   conditions?: {
>     action: complete | next | retry | flow | drop_vm,
>     config?: {
>       custom_ivr_details_id?: any,
>       delay?: any,
>       flow_id?: any,
>       max_attempts?: any
>     },
>     states?: (call:powerdialer_no_available_agent | call:human_agent | call:ai_agent | call:outbound_connected | call:powerdialer_vm_drop | call:machine_detected | call:powerdialer_call | call:active | call:outbound | call:cancelled | call:inbound | call:missed | call:abandoned | call:user_initiated | sms:accepted | sms:invalid_destination | sms:invalid_source | sms:no_route | sms:rejected_spam | sms:internal_error | sms:rejected | sms:not_supported | sms:time_out | sms:error | sms:unknown | sms:forbidden | sms:owner_no_international_messaging | sms:unregistered_a2p_not_allowed | sms:owner_not_enough_sms_credits | sms:owner_not_enough_credits | sms:messaging_disabled | sms:owner_free_user | sms:contact_missing_number | sms:contact_is_room | sms:contact_is_shared_line | sms:staff_contact | sms:company_affinity | sms:not_in_free_company | sms:invalid_number)[]
>   }[],
>   settings?: {
>     phone_field?: string,
>     text: string
>   } | {
>     ai_agent_settings?: {
>       agent_id?: any,
>       provider_name?: any
>     },
>     phone_field?: string
>   },
>   type: call | sms
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `number \| string` | Yes | — |
| `conditions` | `object[]` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `flow_ids` | `any[]` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `parent_id` | `string` | No | — |
| `parent_key` | `string` | No | — |
| `rule_id` | `string` | Yes | — |
| `settings` | `object` | No | — |
| `type` | `call \| sms \| string` | Yes | — |

> [accordion] conditions full type
>
> ```ts theme={null}
> {
>   action: complete | next | retry | flow | drop_vm | string,
>   config?: {
>     custom_ivr_details_id?: any,
>     delay?: any,
>     flow_id?: any,
>     max_attempts?: any
>   },
>   states?: (call:powerdialer_no_available_agent | call:human_agent | call:ai_agent | call:outbound_connected | call:powerdialer_vm_drop | call:machine_detected | call:powerdialer_call | call:active | call:outbound | call:cancelled | call:inbound | call:missed | call:abandoned | call:user_initiated | string | sms:accepted | sms:invalid_destination | sms:invalid_source | sms:no_route | sms:rejected_spam | sms:internal_error | sms:rejected | sms:not_supported | sms:time_out | sms:error | sms:unknown | sms:forbidden | sms:owner_no_international_messaging | sms:unregistered_a2p_not_allowed | sms:owner_not_enough_sms_credits | sms:owner_not_enough_credits | sms:messaging_disabled | sms:owner_free_user | sms:contact_missing_number | sms:contact_is_room | sms:contact_is_shared_line | sms:staff_contact | sms:company_affinity | sms:not_in_free_company | sms:invalid_number | string)[]
> }[]
> ```

> [accordion] settings full type
>
> ```ts theme={null}
> {
>   phone_field?: string,
>   text: string
> } | {
>   ai_agent_settings?: {
>     agent_id?: any,
>     provider_name?: any
>   },
>   phone_field?: string
> }
> ```

***

### createSalesforceListViewImport

`powerdialer.createSalesforceListViewImport`

Import Salesforce ListView records into Leads. Import a Salesforce list view into Dialbunny database

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.createSalesforceListViewImport({ query: {}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |
| `body` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   object_mapping_id?: string,
>   use_default_mapping?: boolean
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   campaign_id?: string | any | null,
>   listview_id?: string | any | null,
>   object_mapping_id?: string,
>   sobject_type?: Lead | Contact | Opportunity | Account,
>   strategy?: skip | merge,
>   use_default_mapping?: boolean
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `author_dp_key` | `string \| any \| null` | No | — |
| `author_id` | `string` | No | — |
| `author_key` | `string` | No | — |
| `campaign_id` | `string \| any \| null` | No | — |
| `company_id` | `number \| string` | Yes | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `id` | `string` | Yes | — |
| `import_id` | `string` | Yes | — |
| `import_results` | `object` | No | — |
| `key` | `string` | Yes | — |
| `listview_id` | `string \| any \| null` | No | — |
| `object_mapping_id` | `string \| any \| null` | No | — |
| `sobject_type` | `Lead \| Contact \| Opportunity \| Account \| string` | No | — |
| `state` | `pending \| active \| complete \| error \| string` | No | — |
| `strategy` | `skip \| merge \| string` | No | — |

> [accordion] import\_results full type
>
> ```ts theme={null}
> {
>   collisions?: number | string,
>   created?: number | string,
>   duplicates?: number | string,
>   failed_batches?: number | string,
>   skipped?: number | string,
>   total?: number | string,
>   updated?: number | string
> }
> ```

***

### createSalesforceObjectMapping

`powerdialer.createSalesforceObjectMapping`

Create Salesforce Object Mapping. Create a new Salesforce object mapping for the company or a specific campaign

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.createSalesforceObjectMapping({ query: {}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |
| `body` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   campaign_id?: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   campaign_id?: string | any | null,
>   custom_mapping?: {
>   },
>   lead_mapping?: {
>   },
>   sobject_type?: string | any | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `campaign_id` | `string \| any \| null` | No | — |
| `company_id` | `number \| string` | Yes | — |
| `custom_mapping` | `Record<string, string>` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `lead_mapping` | `Record<string, do_not_import \| first_name \| last_name \| job_title \| industry \| role \| department \| external_id \| timezone \| lang \| primary_phone \| secondary_phone \| primary_email \| secondary_email \| address_name \| address_line1 \| address_line2 \| city \| region \| postal_code \| country \| company_name \| company_phone \| company_address_line1 \| company_address_line2 \| company_city \| company_region \| company_postal_code \| company_country \| company_sic_code \| company_naics_code \| company_blacklisted \| company_annual_revenue \| company_currency \| company_num_employees \| primary_phone_fallback \| string>` | No | — |
| `object_mapping_id` | `string` | Yes | — |
| `sobject_type` | `string \| any \| null` | No | — |
| `tags` | `any[]` | No | — |

***

### createServiceAccount

`powerdialer.createServiceAccount`

Create Service Account. Create a service account with a role ('admin' or 'read\_only'). Company admins only

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.createServiceAccount({ body: {"name":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | Yes | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   name: string,
>   role?: admin | read_only
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `string` | No | — |
| `company_key` | `string` | No | — |
| `csr_permissions` | `any[]` | No | — |
| `csr_roles` | `any[]` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `dialpad_user_id` | `number \| string \| any \| null` | No | — |
| `experiments` | `any[]` | No | — |
| `id` | `string` | Yes | — |
| `is_company_admin` | `boolean` | No | — |
| `is_default` | `boolean` | No | — |
| `key` | `string` | Yes | — |
| `name` | `string` | Yes | — |
| `office_id` | `number \| string \| any \| null` | No | — |
| `role` | `admin \| read_only \| string` | No | — |
| `roles` | `any[]` | No | — |
| `target_key` | `string` | No | — |
| `user_id` | `string` | No | — |
| `user_key` | `string` | No | — |

***

### createStaticList

`powerdialer.createStaticList`

Create a Static List. Create a Static List

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.createStaticList({ body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   name?: string | any | null,
>   state?: active | importing | clearing | error
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `author_dp_key` | `string \| any \| null` | No | — |
| `author_id` | `string` | No | — |
| `author_key` | `string` | No | — |
| `company_id` | `number \| string` | Yes | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `date_query` | `number \| string` | No | — |
| `date_query_iso` | `string` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `last_query` | `object \| < \| >= \| <= \| ^= \| $= \| !! \| ~~ \| string, value?: string \| number \| string \| any \| null }` | No | — |
| `name` | `string \| any \| null` | No | — |
| `num_manual_rows` | `number \| string` | No | — |
| `num_rows` | `string \| any \| null` | No | — |
| `num_snapshot_rows` | `number \| string` | No | — |
| `sort_name` | `string \| any \| null` | No | — |
| `state` | `active \| importing \| clearing \| error \| string` | No | — |
| `static_list_id` | `string` | Yes | — |
| `tags` | `any[]` | No | — |

> [accordion] last\_query full type
>
> ```ts theme={null}
> {
>   field: string,
>   op: = | ~= | != |
> > | < |>= | <= | ^= | $= | !! | ~~ | string, value?: string | number | string | any | null} | {
>   combiner: AND | OR | string,
>   conditions: (any | any)[]
> }
> ```

***

### deleteApiKey

`powerdialer.deleteApiKey`

Delete API Key. Revoke a key

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.powerdialer.deleteApiKey({ path: {"key_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   key_id: string
> }
> ```

**Output:** `any`

***

### deleteAudience

`powerdialer.deleteAudience`

Delete an Audience. Delete a Audience

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.powerdialer.deleteAudience({ path: {"audience_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   audience_id: string
> }
> ```

**Output:** `any`

***

### deleteBot

`powerdialer.deleteBot`

Delete Bot. Delete a Bot

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.powerdialer.deleteBot({ path: {"bot_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   bot_id: string
> }
> ```

**Output:** `any`

***

### deleteBotDialog

`powerdialer.deleteBotDialog`

Delete Bot Dialog. Delete a BotDialog and all of its messages

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.powerdialer.deleteBotDialog({ path: {"bot_dialog_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   bot_dialog_id: string
> }
> ```

**Output:** `any`

***

### deleteBotMessage

`powerdialer.deleteBotMessage`

Delete Bot Message. Delete a BotMessage

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.powerdialer.deleteBotMessage({ path: {"bot_message_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   bot_message_id: string
> }
> ```

**Output:** `any`

***

### deleteCampaign

`powerdialer.deleteCampaign`

Delete Campaign. Delete a campaign entity

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.powerdialer.deleteCampaign({ path: {"campaign_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   campaign_id: string
> }
> ```

**Output:** `any`

***

### deleteCampaignGroup

`powerdialer.deleteCampaignGroup`

Delete Campaign Group, unlink member campaigns. Delete Campaign Group, unlink member campaigns

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.powerdialer.deleteCampaignGroup({ path: {"campaign_group_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   campaign_group_id: string
> }
> ```

**Output:** `any`

***

### deleteCsv

`powerdialer.deleteCsv`

Delete CSV. Delete a Csv Entity

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.powerdialer.deleteCsv({ path: {"csv_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   csv_id: string
> }
> ```

**Output:** `any`

***

### deleteCustomProperty

`powerdialer.deleteCustomProperty`

Delete Custom Property. Delete a custom property

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.powerdialer.deleteCustomProperty({ path: {"id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

**Output:** `any`

***

### deleteLeadList

`powerdialer.deleteLeadList`

Delete a LeadList. Delete a shared LeadList and its associated Audiences and StaticLists

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.powerdialer.deleteLeadList({ path: {"list_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   list_id: string
> }
> ```

**Output:** `any`

***

### deleteLeadListItem

`powerdialer.deleteLeadListItem`

Delete a LeadListItem. Delete a LeadListItem

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.powerdialer.deleteLeadListItem({ path: {"item_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   item_id: string
> }
> ```

**Output:** `any`

***

### deleteModelsByKeysOfKind

`powerdialer.deleteModelsByKeysOfKind`

Bulk delete entities of a single kind by short keys. Bulk delete entities of a single kind by a list of ids or short keys

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.powerdialer.deleteModelsByKeysOfKind({ path: {"kind":"sample-value"}, query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `query` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   kind: string
> }
> ```

> [accordion] query full type
>
> ```ts theme={null}
> {
>   ids?: string,
>   keys?: string
> }
> ```

**Output:** `any`

***

### deletePhone

`powerdialer.deletePhone`

Soft Delete Phone. Soft Delete a Phone Entity

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.powerdialer.deletePhone({ path: {"e164":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   e164: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `number \| string` | Yes | — |
| `consent` | `implied \| consent \| written_consent \| revoked \| string` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_dnc_expires` | `number \| string` | No | — |
| `date_dnc_expires_iso` | `string` | No | — |
| `date_dnc_opt_out` | `number \| string` | No | — |
| `date_dnc_opt_out_iso` | `string` | No | — |
| `date_dnt_expires` | `number \| string` | No | — |
| `date_dnt_expires_iso` | `string` | No | — |
| `date_dnt_opt_out` | `number \| string` | No | — |
| `date_dnt_opt_out_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `dnc` | `boolean \| any \| null` | No | — |
| `dnc_scope` | `powerdialer \| ever \| string` | No | — |
| `dnt` | `boolean \| any \| null` | No | — |
| `dnt_scope` | `powerdialer \| ever \| string` | No | — |
| `e164` | `string` | Yes | — |
| `formatted_phone` | `string \| any \| null` | No | — |
| `id` | `string` | Yes | — |
| `is_dnc_expired` | `boolean` | No | — |
| `is_dnt_expired` | `boolean` | No | — |
| `key` | `string` | Yes | — |
| `label` | `mobile \| work \| home \| other \| string` | No | — |
| `last_author_dp_key` | `string \| any \| null` | No | — |
| `last_author_id` | `string \| any \| null` | No | — |
| `last_csv_id` | `string \| any \| null` | No | — |
| `last_source` | `api \| csv \| dp_contact \| string` | No | — |
| `state` | `active \| deleted \| string` | No | — |
| `tags` | `any[]` | No | — |
| `timezone` | `string \| any \| null` | No | — |
| `validity` | `good \| unverified \| disconnected \| fax \| spam \| wrong_number \| string` | No | — |

***

### deletePhoneCsv

`powerdialer.deletePhoneCsv`

Delete Phone CSV. Delete a Phone Csv Entity

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.powerdialer.deletePhoneCsv({ path: {"csv_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   csv_id: string
> }
> ```

**Output:** `any`

***

### deleteRule

`powerdialer.deleteRule`

Delete a rule. Delete a rule belonging to a campaign with campaign\_id

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.powerdialer.deleteRule({ path: {"rule_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   rule_id: string
> }
> ```

**Output:** `any`

***

### deleteSalesforceObjectMapping

`powerdialer.deleteSalesforceObjectMapping`

Delete Salesforce Object Mapping. Delete a Salesforce object mapping

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.powerdialer.deleteSalesforceObjectMapping({ path: {"object_mapping_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   object_mapping_id: string
> }
> ```

**Output:** *empty object*

***

### deleteServiceAccount

`powerdialer.deleteServiceAccount`

Delete Service Account. Delete a service account and revoke every key issued for it. The company's default account cannot be deleted. Company admins only

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.powerdialer.deleteServiceAccount({ path: {"account_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   account_id: string
> }
> ```

**Output:** `any`

***

### deleteStaticList

`powerdialer.deleteStaticList`

Delete a Static List. Delete a Static List

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.powerdialer.deleteStaticList({ path: {"static_list_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   static_list_id: string
> }
> ```

**Output:** `any`

***

### duplicateAudience

`powerdialer.duplicateAudience`

Duplicate an Audience. Create a new audience from an existing one

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.duplicateAudience({ path: {"audience_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   audience_id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `audience_id` | `string` | Yes | — |
| `author_dp_key` | `string \| any \| null` | No | — |
| `author_id` | `string` | No | — |
| `author_key` | `string` | No | — |
| `company_id` | `number \| string` | Yes | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `name` | `string \| any \| null` | No | — |
| `num_rows` | `number \| string` | No | — |
| `query` | `object \| < \| >= \| <= \| ^= \| $= \| !! \| ~~ \| string, value?: string \| number \| string \| any \| null }` | No | — |
| `sort_name` | `string \| any \| null` | No | — |
| `state` | `pending \| active \| deleted \| string` | No | — |
| `tags` | `any[]` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   field: string,
>   op: = | ~= | != |
> > | < |>= | <= | ^= | $= | !! | ~~ | string, value?: string | number | string | any | null} | {
>   combiner: AND | OR | string,
>   conditions: (any | any)[]
> }
> ```

***

### duplicateCampaign

`powerdialer.duplicateCampaign`

Duplicate a Campaign. Create a new campaign from an existing one

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.duplicateCampaign({ path: {"campaign_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   campaign_id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `author_dp_key` | `string \| any \| null` | No | — |
| `author_id` | `string` | No | — |
| `author_key` | `string` | No | — |
| `caller_id` | `string \| any \| null` | No | — |
| `campaign_group_id` | `string` | No | — |
| `campaign_group_key` | `string` | No | — |
| `campaign_group_order` | `number \| string \| any \| null` | No | — |
| `campaign_id` | `string` | Yes | — |
| `company_id` | `number \| string` | Yes | — |
| `date_archived` | `number \| string` | No | — |
| `date_archived_iso` | `string` | No | — |
| `date_audience_computed` | `number \| string` | No | — |
| `date_audience_computed_iso` | `string` | No | — |
| `date_computed` | `number \| string` | No | — |
| `date_computed_iso` | `string` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_ended` | `number \| string` | No | — |
| `date_ended_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `date_paused` | `number \| string` | No | — |
| `date_paused_iso` | `string` | No | — |
| `date_scheduled_end` | `number \| string` | No | — |
| `date_scheduled_end_iso` | `string` | No | — |
| `date_scheduled_start` | `number \| string` | No | — |
| `date_scheduled_start_iso` | `string` | No | — |
| `date_started` | `number \| string` | No | — |
| `date_started_iso` | `string` | No | — |
| `description` | `string` | No | — |
| `event_logs_gcs_filename` | `string` | No | — |
| `flow_id` | `string` | No | — |
| `flow_key` | `string` | No | — |
| `gcs_filename` | `string` | No | — |
| `group_id` | `number \| string` | No | — |
| `id` | `string` | Yes | — |
| `is_dynamic` | `boolean` | No | — |
| `key` | `string` | Yes | — |
| `lead_list_id` | `string` | No | — |
| `lead_list_key` | `string` | No | — |
| `name` | `string` | No | — |
| `num_items` | `number \| string` | No | — |
| `num_pending` | `number \| string` | No | — |
| `office_id` | `number \| string \| any \| null` | No | — |
| `priority` | `number \| string \| any \| null` | No | — |
| `progress` | `number \| any \| null` | No | — |
| `queries` | `object[]` | No | — |
| `settings_id` | `string` | No | — |
| `settings_key` | `string` | No | — |
| `shared_list_id` | `string` | No | — |
| `shared_list_key` | `string` | No | — |
| `sort_name` | `string \| any \| null` | No | — |
| `source_list_ids` | `any[]` | No | — |
| `state` | `pending \| launching \| scheduled \| active \| paused \| complete \| error \| deleted \| cancelled \| string` | No | — |
| `strategy` | `progressive \| predictive \| preview \| ai_progressive \| ai_predictive \| string` | No | — |
| `tags` | `any[]` | No | — |
| `target_id` | `string` | No | — |
| `target_key` | `string` | No | — |

> [accordion] queries full type
>
> ```ts theme={null}
> (
>   {
>     field: string,
>     op: = | ~= | != |
>   > | < |>= | <= | ^= | $= | !! | ~~ | string, value?: any | any | any} | {
>     combiner: AND | OR | string,
>     conditions: any[]
>   }
> )[]
> ```

***

### duplicateLeadList

`powerdialer.duplicateLeadList`

Duplicate a LeadList. Create a new shared LeadList from an existing one, including duplicating its Audiences and StaticLists

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.duplicateLeadList({ path: {"list_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   list_id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `audience_ids` | `any[]` | No | — |
| `audience_keys` | `any[]` | No | — |
| `author_dp_key` | `string \| any \| null` | No | — |
| `author_id` | `string` | No | — |
| `author_key` | `string` | No | — |
| `company_id` | `number \| string` | Yes | — |
| `csv_columns` | `any[]` | No | — |
| `csv_ids` | `any[]` | No | — |
| `csv_keys` | `any[]` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `date_user_modified` | `number \| string` | No | — |
| `date_user_modified_iso` | `string` | No | — |
| `id` | `string` | Yes | — |
| `is_shared` | `boolean` | No | — |
| `key` | `string` | Yes | — |
| `last_author_dp_key` | `string \| any \| null` | No | — |
| `last_author_id_id` | `string` | No | — |
| `last_author_id_key` | `string` | No | — |
| `lead_order` | `any[]` | No | — |
| `list_id` | `string` | Yes | — |
| `name` | `string` | No | — |
| `num_csv_rows` | `number \| string` | No | — |
| `num_manual_rows` | `number \| string` | No | — |
| `num_query_rows` | `number \| string` | No | — |
| `num_rows` | `number \| string` | No | — |
| `num_snapshot_rows` | `number \| string` | No | — |
| `office_id` | `number \| string \| any \| null` | No | — |
| `salesforce_listview_id` | `string \| any \| null` | No | — |
| `sort_name` | `string \| any \| null` | No | — |
| `static_list_ids` | `any[]` | No | — |
| `static_list_keys` | `any[]` | No | — |
| `tags` | `any[]` | No | — |

***

### duplicateStaticList

`powerdialer.duplicateStaticList`

Duplicate a Static List. Create a new static list from an existing one

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.duplicateStaticList({ path: {"static_list_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   static_list_id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `author_dp_key` | `string \| any \| null` | No | — |
| `author_id` | `string` | No | — |
| `author_key` | `string` | No | — |
| `company_id` | `number \| string` | Yes | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `date_query` | `number \| string` | No | — |
| `date_query_iso` | `string` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `last_query` | `object \| < \| >= \| <= \| ^= \| $= \| !! \| ~~ \| string, value?: string \| number \| string \| any \| null }` | No | — |
| `name` | `string \| any \| null` | No | — |
| `num_manual_rows` | `number \| string` | No | — |
| `num_rows` | `string \| any \| null` | No | — |
| `num_snapshot_rows` | `number \| string` | No | — |
| `sort_name` | `string \| any \| null` | No | — |
| `state` | `active \| importing \| clearing \| error \| string` | No | — |
| `static_list_id` | `string` | Yes | — |
| `tags` | `any[]` | No | — |

> [accordion] last\_query full type
>
> ```ts theme={null}
> {
>   field: string,
>   op: = | ~= | != |
> > | < |>= | <= | ^= | $= | !! | ~~ | string, value?: string | number | string | any | null} | {
>   combiner: AND | OR | string,
>   conditions: (any | any)[]
> }
> ```

***

### editCampaignSettings

`powerdialer.editCampaignSettings`

Edit Settings for a Campaign. Edit a Campaign Settings object

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.editCampaignSettings({ path: {"campaign_settings_id":"sample-value"}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   campaign_settings_id: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   agent_multiplier?: number | string,
>   classification?: marketing | informational,
>   current_dial_rate?: number | string | any | null,
>   custom_ivr_details_id?: number | string | any | null,
>   dial_rate?: number | string,
>   enable_internal_dnc?: boolean,
>   enable_national_dnc?: boolean,
>   enable_screen_pop?: boolean,
>   hours?: {
>   },
>   max_call_attempt_settings?: {
>     delay_in_seconds?: number | string,
>     enabled?: boolean,
>     last_result_criteria?: (call:powerdialer_no_available_agent | call:powerdialer_vm_drop | call:machine_detected | call:cancelled | call:missed | call:abandoned | sms:invalid_destination | sms:invalid_source | sms:no_route | sms:rejected_spam | sms:internal_error | sms:rejected | sms:not_supported | sms:time_out | sms:error | sms:unknown)[],
>     max_attempts?: number | string
>   },
>   max_call_attempts?: number | string,
>   max_sms_attempt_settings?: {
>     delay_in_seconds?: number | string,
>     enabled?: boolean,
>     last_result_criteria?: (call:powerdialer_no_available_agent | call:powerdialer_vm_drop | call:machine_detected | call:cancelled | call:missed | call:abandoned | sms:invalid_destination | sms:invalid_source | sms:no_route | sms:rejected_spam | sms:internal_error | sms:rejected | sms:not_supported | sms:time_out | sms:error | sms:unknown)[],
>     max_attempts?: number | string
>   },
>   playbook_id?: number | string | any | null,
>   post_bot_id?: string | any | null,
>   screen_pop_fields?: {
>     display_name?: string,
>     display_order?: number | string,
>     name: string
>   }[],
>   timegate_settings?: {
>     hours?: {
>     },
>     timezone?: string,
>     timezone_mode?: string
>   },
>   timezone_mode?: phone | lead | address | address_and_phone
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `agent_multiplier` | `number \| string` | No | — |
| `campaign_settings_id` | `string` | Yes | — |
| `classification` | `marketing \| informational \| string` | No | — |
| `company_id` | `number \| string` | Yes | — |
| `current_dial_rate` | `number \| string \| any \| null` | No | — |
| `custom_ivr_details_id` | `number \| string \| any \| null` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `dial_rate` | `number \| string` | No | — |
| `enable_internal_dnc` | `boolean` | No | — |
| `enable_national_dnc` | `boolean` | No | — |
| `enable_screen_pop` | `boolean` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `max_call_attempt_settings` | `object` | No | — |
| `max_call_attempts` | `number \| string` | No | — |
| `max_sms_attempt_settings` | `object` | No | — |
| `playbook_id` | `number \| string \| any \| null` | No | — |
| `post_bot_id` | `string \| any \| null` | No | — |
| `screen_pop_fields` | `object[]` | No | — |
| `timegate_settings` | `object` | No | — |

> [accordion] max\_call\_attempt\_settings full type
>
> ```ts theme={null}
> {
>   delay_in_seconds?: number | string,
>   enabled?: boolean,
>   last_result_criteria?: (call:powerdialer_no_available_agent | call:powerdialer_vm_drop | call:machine_detected | call:cancelled | call:missed | call:abandoned | sms:invalid_destination | sms:invalid_source | sms:no_route | sms:rejected_spam | sms:internal_error | sms:rejected | sms:not_supported | sms:time_out | sms:error | sms:unknown | string)[],
>   max_attempts?: number | string
> }
> ```

> [accordion] max\_sms\_attempt\_settings full type
>
> ```ts theme={null}
> {
>   delay_in_seconds?: number | string,
>   enabled?: boolean,
>   last_result_criteria?: (call:powerdialer_no_available_agent | call:powerdialer_vm_drop | call:machine_detected | call:cancelled | call:missed | call:abandoned | sms:invalid_destination | sms:invalid_source | sms:no_route | sms:rejected_spam | sms:internal_error | sms:rejected | sms:not_supported | sms:time_out | sms:error | sms:unknown | string)[],
>   max_attempts?: number | string
> }
> ```

> [accordion] screen\_pop\_fields full type
>
> ```ts theme={null}
> {
>   display_name?: string,
>   display_order?: number | string,
>   name: string
> }[]
> ```

> [accordion] timegate\_settings full type
>
> ```ts theme={null}
> {
>   hours?: Record<string, any[][]>,
>   timezone?: string,
>   timezone_mode?: string
> }
> ```

***

### getAblyToken

`powerdialer.getAblyToken`

Ably Auth Endpoint. Auth endpoint for ably js client

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getAblyToken({  });
```

**Input:** *empty object*

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `capability` | `string` | Yes | — |
| `clientId` | `string` | Yes | — |
| `expires` | `number \| string` | Yes | — |
| `issued` | `number \| string` | Yes | — |
| `keyName` | `string` | Yes | — |
| `token` | `string` | Yes | — |

***

### getApiKey

`powerdialer.getApiKey`

Get API Key. Get a key by its id (the token's hash). The token itself is not returned

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getApiKey({ path: {"key_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   key_id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `number \| string` | Yes | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `name` | `string \| any \| null` | No | — |
| `service_account_id` | `string` | No | — |
| `service_account_key` | `string` | No | — |
| `tags` | `any[]` | No | — |
| `token` | `string` | No | — |
| `token_hash` | `string \| any \| null` | No | — |
| `token_tail` | `string` | No | — |
| `type` | `base \| public \| dialer \| string` | Yes | — |
| `user_id` | `string` | No | — |
| `user_key` | `string` | No | — |

***

### getApiKeys

`powerdialer.getApiKeys`

List API Keys. List the keys issued for the company. Tokens are never returned - each key is identified by `id` (the token's hash) and `token` is its tail. Admins see every key, everyone else only keys acting as themselves

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getApiKeys({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   count?: boolean,
>   keys_only?: boolean,
>   total?: boolean,
>   cursor?: string,
>   offset?: number | string,
>   limit?: number | string,
>   mine?: boolean,
>   service_account_id?: string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   company_id: number | string,
>   date_created?: number | string,
>   date_created_iso?: string,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   id: string,
>   key: string,
>   name?: string | any | null,
>   service_account_id?: string,
>   service_account_key?: string,
>   tags?: any[],
>   token?: string,
>   token_hash?: string | any | null,
>   token_tail?: string,
>   type: base | public | dialer | string,
>   user_id?: string,
>   user_key?: string
> }[]
> ```

***

### getAudience

`powerdialer.getAudience`

Get Audience. Get a single Audience by id

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getAudience({ path: {"audience_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   audience_id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `audience_id` | `string` | Yes | — |
| `author_dp_key` | `string \| any \| null` | No | — |
| `author_id` | `string` | No | — |
| `author_key` | `string` | No | — |
| `company_id` | `number \| string` | Yes | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `name` | `string \| any \| null` | No | — |
| `num_rows` | `number \| string` | No | — |
| `query` | `object \| < \| >= \| <= \| ^= \| $= \| !! \| ~~ \| string, value?: string \| number \| string \| any \| null }` | No | — |
| `sort_name` | `string \| any \| null` | No | — |
| `state` | `pending \| active \| deleted \| string` | No | — |
| `tags` | `any[]` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   field: string,
>   op: = | ~= | != |
> > | < |>= | <= | ^= | $= | !! | ~~ | string, value?: string | number | string | any | null} | {
>   combiner: AND | OR | string,
>   conditions: (any | any)[]
> }
> ```

***

### getAudiences

`powerdialer.getAudiences`

Get Audiences. Get a list of Audiences

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getAudiences({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   count?: boolean,
>   keys_only?: boolean,
>   total?: boolean,
>   cursor?: string,
>   offset?: number | string,
>   limit?: number | string,
>   target_ids?: string,
>   state?: pending | launching | scheduled | active | paused | complete | error | deleted | cancelled,
>   search?: string,
>   order?: string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   audience_id: string,
>   author_dp_key?: string | any | null,
>   author_id?: string,
>   author_key?: string,
>   company_id: number | string,
>   date_created?: number | string,
>   date_created_iso?: string,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   id: string,
>   key: string,
>   name?: string | any | null,
>   num_rows?: number | string,
>   query?: {
>     field: string,
>     op: = | ~= | != |
>   > | < |>= | <= | ^= | $= | !! | ~~ | string, value?: string | number | string | any | null} | {
>     combiner: AND | OR | string,
>     conditions: (any | any)[]
>   },
>   sort_name?: string | any | null,
>   state?: pending | active | deleted | string,
>   tags?: any[]
> }[]
> ```

***

### getBot

`powerdialer.getBot`

Get Bot. Get a single Bot by ID

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getBot({ path: {"bot_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   bot_id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_id` | `string` | No | — |
| `author_dp_key` | `string \| any \| null` | No | — |
| `author_id` | `string` | No | — |
| `author_key` | `string` | No | — |
| `bot_id` | `string` | Yes | — |
| `company_id` | `number \| string` | Yes | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `name` | `string` | No | — |
| `org_id` | `string \| any \| null` | No | — |
| `sort_name` | `string \| any \| null` | No | — |
| `tags` | `any[]` | No | — |
| `template` | `string \| any \| null` | No | — |

***

### getBotDialog

`powerdialer.getBotDialog`

Get Bot Dialog. Get a single BotDialog by ID

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getBotDialog({ path: {"bot_dialog_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   bot_dialog_id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `author_dp_key` | `string \| any \| null` | No | — |
| `author_id` | `string` | No | — |
| `author_key` | `string` | No | — |
| `bot_dialog_id` | `string` | Yes | — |
| `bot_id` | `string` | Yes | — |
| `company_id` | `number \| string` | Yes | — |
| `conv_id` | `string \| any \| null` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_last_message` | `number \| string` | No | — |
| `date_last_message_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `state` | `pending \| active \| ended \| error \| string` | No | — |
| `template_data` | `object` | No | — |

> [accordion] template\_data full type
>
> ```ts theme={null}
> {
> }
> ```

***

### getBotDialogs

`powerdialer.getBotDialogs`

List Bot Dialogs. Get all BotDialogs for the company, optionally filtered by bot\_id

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getBotDialogs({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   count?: boolean,
>   keys_only?: boolean,
>   total?: boolean,
>   cursor?: string,
>   offset?: number | string,
>   limit?: number | string,
>   bot_id?: string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   author_dp_key?: string | any | null,
>   author_id?: string,
>   author_key?: string,
>   bot_dialog_id: string,
>   bot_id: string,
>   company_id: number | string,
>   conv_id?: string | any | null,
>   date_created?: number | string,
>   date_created_iso?: string,
>   date_last_message?: number | string,
>   date_last_message_iso?: string,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   id: string,
>   key: string,
>   state?: pending | active | ended | error | string,
>   template_data?: {
>   }
> }[]
> ```

***

### getBotMessage

`powerdialer.getBotMessage`

Get Bot Message. Get a single BotMessage by ID

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getBotMessage({ path: {"bot_message_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   bot_message_id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `bot_dialog_id` | `string` | Yes | — |
| `bot_message_id` | `string` | Yes | — |
| `company_id` | `number \| string` | Yes | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `direction` | `in \| out \| string` | Yes | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `state` | `pending \| sent \| received \| error \| string` | No | — |
| `text` | `string \| any \| null` | No | — |

***

### getBotMessages

`powerdialer.getBotMessages`

List Bot Messages. Get the transcript of a BotDialog, oldest message first

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getBotMessages({ query: {"bot_dialog_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | Yes | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   count?: boolean,
>   keys_only?: boolean,
>   total?: boolean,
>   cursor?: string,
>   offset?: number | string,
>   limit?: number | string,
>   state?: string,
>   bot_dialog_id: string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   bot_dialog_id: string,
>   bot_message_id: string,
>   company_id: number | string,
>   date_created?: number | string,
>   date_created_iso?: string,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   direction: in | out | string,
>   id: string,
>   key: string,
>   state?: pending | sent | received | error | string,
>   text?: string | any | null
> }[]
> ```

***

### getBots

`powerdialer.getBots`

List Bots. Get all Bots (kare widgets) for the company

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getBots({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   count?: boolean,
>   keys_only?: boolean,
>   total?: boolean,
>   cursor?: string,
>   offset?: number | string,
>   limit?: number | string,
>   search?: string,
>   order?: string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   app_id?: string,
>   author_dp_key?: string | any | null,
>   author_id?: string,
>   author_key?: string,
>   bot_id: string,
>   company_id: number | string,
>   date_created?: number | string,
>   date_created_iso?: string,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   id: string,
>   key: string,
>   name?: string,
>   org_id?: string | any | null,
>   sort_name?: string | any | null,
>   tags?: any[],
>   template?: string | any | null
> }[]
> ```

***

### getCampaign

`powerdialer.getCampaign`

Get Campaign. Get an individual Campaign

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getCampaign({ path: {"campaign_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   campaign_id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `author_dp_key` | `string \| any \| null` | No | — |
| `author_id` | `string` | No | — |
| `author_key` | `string` | No | — |
| `caller_id` | `string \| any \| null` | No | — |
| `campaign_group_id` | `string` | No | — |
| `campaign_group_key` | `string` | No | — |
| `campaign_group_order` | `number \| string \| any \| null` | No | — |
| `campaign_id` | `string` | Yes | — |
| `company_id` | `number \| string` | Yes | — |
| `date_archived` | `number \| string` | No | — |
| `date_archived_iso` | `string` | No | — |
| `date_audience_computed` | `number \| string` | No | — |
| `date_audience_computed_iso` | `string` | No | — |
| `date_computed` | `number \| string` | No | — |
| `date_computed_iso` | `string` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_ended` | `number \| string` | No | — |
| `date_ended_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `date_paused` | `number \| string` | No | — |
| `date_paused_iso` | `string` | No | — |
| `date_scheduled_end` | `number \| string` | No | — |
| `date_scheduled_end_iso` | `string` | No | — |
| `date_scheduled_start` | `number \| string` | No | — |
| `date_scheduled_start_iso` | `string` | No | — |
| `date_started` | `number \| string` | No | — |
| `date_started_iso` | `string` | No | — |
| `description` | `string` | No | — |
| `event_logs_gcs_filename` | `string` | No | — |
| `flow_id` | `string` | No | — |
| `flow_key` | `string` | No | — |
| `gcs_filename` | `string` | No | — |
| `group_id` | `number \| string` | No | — |
| `id` | `string` | Yes | — |
| `is_dynamic` | `boolean` | No | — |
| `key` | `string` | Yes | — |
| `lead_list_id` | `string` | No | — |
| `lead_list_key` | `string` | No | — |
| `name` | `string` | No | — |
| `num_items` | `number \| string` | No | — |
| `num_pending` | `number \| string` | No | — |
| `office_id` | `number \| string \| any \| null` | No | — |
| `priority` | `number \| string \| any \| null` | No | — |
| `progress` | `number \| any \| null` | No | — |
| `queries` | `object[]` | No | — |
| `settings_id` | `string` | No | — |
| `settings_key` | `string` | No | — |
| `shared_list_id` | `string` | No | — |
| `shared_list_key` | `string` | No | — |
| `sort_name` | `string \| any \| null` | No | — |
| `source_list_ids` | `any[]` | No | — |
| `state` | `pending \| launching \| scheduled \| active \| paused \| complete \| error \| deleted \| cancelled \| string` | No | — |
| `strategy` | `progressive \| predictive \| preview \| ai_progressive \| ai_predictive \| string` | No | — |
| `tags` | `any[]` | No | — |
| `target_id` | `string` | No | — |
| `target_key` | `string` | No | — |

> [accordion] queries full type
>
> ```ts theme={null}
> (
>   {
>     field: string,
>     op: = | ~= | != |
>   > | < |>= | <= | ^= | $= | !! | ~~ | string, value?: any | any | any} | {
>     combiner: AND | OR | string,
>     conditions: any[]
>   }
> )[]
> ```

***

### getCampaignGroup

`powerdialer.getCampaignGroup`

Get A Campaign Group. Get A Campaign Group

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getCampaignGroup({ path: {"campaign_group_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   campaign_group_id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `author_dp_key` | `string \| any \| null` | No | — |
| `author_id` | `string` | No | — |
| `author_key` | `string` | No | — |
| `campaign_group_id` | `string` | Yes | — |
| `company_id` | `number \| string` | Yes | — |
| `date_computed` | `number \| string` | No | — |
| `date_computed_iso` | `string` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `description` | `string` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `name` | `string` | No | — |
| `office_id` | `number \| string \| any \| null` | No | — |
| `state` | `pending \| launching \| scheduled \| active \| paused \| complete \| error \| deleted \| cancelled \| string` | No | — |
| `tags` | `any[]` | No | — |
| `target_id` | `string` | No | — |
| `target_key` | `string` | No | — |
| `wrr_credits` | `object` | No | — |

> [accordion] wrr\_credits full type
>
> ```ts theme={null}
> {
> }
> ```

***

### getCampaignGroups

`powerdialer.getCampaignGroups`

List Campaign Groups. List Campaign Groups

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getCampaignGroups({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   count?: boolean,
>   keys_only?: boolean,
>   total?: boolean,
>   cursor?: string,
>   offset?: number | string,
>   limit?: number | string,
>   state?: pending | launching | scheduled | active | paused | complete | error | deleted | cancelled | all | visible | archived,
>   order?: string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   author_dp_key?: string | any | null,
>   author_id?: string,
>   author_key?: string,
>   campaign_group_id: string,
>   company_id: number | string,
>   date_computed?: number | string,
>   date_computed_iso?: string,
>   date_created?: number | string,
>   date_created_iso?: string,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   description?: string,
>   id: string,
>   key: string,
>   name?: string,
>   office_id?: number | string | any | null,
>   state?: pending | launching | scheduled | active | paused | complete | error | deleted | cancelled | string,
>   tags?: any[],
>   target_id?: string,
>   target_key?: string,
>   wrr_credits?: {
>   }
> }[]
> ```

***

### getCampaignResultExportUrl

`powerdialer.getCampaignResultExportUrl`

Get campaign result export url. Get a presigned url to download campaign result export

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getCampaignResultExportUrl({ path: {"campaign_id":"sample-value"}, query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `query` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   campaign_id: string
> }
> ```

> [accordion] query full type
>
> ```ts theme={null}
> {
>   event_type?: string
> }
> ```

**Output**

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

***

### getCampaigns

`powerdialer.getCampaigns`

List of Campaigns. Fetch a list of Campaign entities assoicated with the company

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getCampaigns({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   count?: boolean,
>   keys_only?: boolean,
>   total?: boolean,
>   cursor?: string,
>   offset?: number | string,
>   limit?: number | string,
>   date_modified_to?: string,
>   date_modified_from?: string,
>   date_created_to?: string,
>   date_created_from?: string,
>   audience_ids?: string,
>   static_list_ids?: string,
>   csv_ids?: string,
>   list_ids?: string,
>   states?: string,
>   state?: pending | launching | scheduled | active | paused | complete | error | deleted | cancelled | all | visible | archived,
>   target_ids?: string,
>   search?: string,
>   order?: string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   author_dp_key?: string | any | null,
>   author_id?: string,
>   author_key?: string,
>   caller_id?: string | any | null,
>   campaign_group_id?: string,
>   campaign_group_key?: string,
>   campaign_group_order?: number | string | any | null,
>   campaign_id: string,
>   company_id: number | string,
>   date_archived?: number | string,
>   date_archived_iso?: string,
>   date_audience_computed?: number | string,
>   date_audience_computed_iso?: string,
>   date_computed?: number | string,
>   date_computed_iso?: string,
>   date_created?: number | string,
>   date_created_iso?: string,
>   date_ended?: number | string,
>   date_ended_iso?: string,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   date_paused?: number | string,
>   date_paused_iso?: string,
>   date_scheduled_end?: number | string,
>   date_scheduled_end_iso?: string,
>   date_scheduled_start?: number | string,
>   date_scheduled_start_iso?: string,
>   date_started?: number | string,
>   date_started_iso?: string,
>   description?: string,
>   event_logs_gcs_filename?: string,
>   flow_id?: string,
>   flow_key?: string,
>   gcs_filename?: string,
>   group_id?: number | string,
>   id: string,
>   is_dynamic?: boolean,
>   key: string,
>   lead_list_id?: string,
>   lead_list_key?: string,
>   name?: string,
>   num_items?: number | string,
>   num_pending?: number | string,
>   office_id?: number | string | any | null,
>   priority?: number | string | any | null,
>   progress?: number | any | null,
>   queries?: (
>     {
>       field: string,
>       op: = | ~= | != |
>     > | < |>= | <= | ^= | $= | !! | ~~ | string, value?: any | any | any} | {
>       combiner: AND | OR | string,
>       conditions: any[]
>     }
>   )[],
>   settings_id?: string,
>   settings_key?: string,
>   shared_list_id?: string,
>   shared_list_key?: string,
>   sort_name?: string | any | null,
>   source_list_ids?: any[],
>   state?: pending | launching | scheduled | active | paused | complete | error | deleted | cancelled | string,
>   strategy?: progressive | predictive | preview | ai_progressive | ai_predictive | string,
>   tags?: any[],
>   target_id?: string,
>   target_key?: string
> }[]
> ```

***

### getCampaignSettings

`powerdialer.getCampaignSettings`

Get a Campaign Settings object. Settings for a Campaign

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getCampaignSettings({ path: {"campaign_settings_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   campaign_settings_id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `agent_multiplier` | `number \| string` | No | — |
| `campaign_settings_id` | `string` | Yes | — |
| `classification` | `marketing \| informational \| string` | No | — |
| `company_id` | `number \| string` | Yes | — |
| `current_dial_rate` | `number \| string \| any \| null` | No | — |
| `custom_ivr_details_id` | `number \| string \| any \| null` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `dial_rate` | `number \| string` | No | — |
| `enable_internal_dnc` | `boolean` | No | — |
| `enable_national_dnc` | `boolean` | No | — |
| `enable_screen_pop` | `boolean` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `max_call_attempt_settings` | `object` | No | — |
| `max_call_attempts` | `number \| string` | No | — |
| `max_sms_attempt_settings` | `object` | No | — |
| `playbook_id` | `number \| string \| any \| null` | No | — |
| `post_bot_id` | `string \| any \| null` | No | — |
| `screen_pop_fields` | `object[]` | No | — |
| `timegate_settings` | `object` | No | — |

> [accordion] max\_call\_attempt\_settings full type
>
> ```ts theme={null}
> {
>   delay_in_seconds?: number | string,
>   enabled?: boolean,
>   last_result_criteria?: (call:powerdialer_no_available_agent | call:powerdialer_vm_drop | call:machine_detected | call:cancelled | call:missed | call:abandoned | sms:invalid_destination | sms:invalid_source | sms:no_route | sms:rejected_spam | sms:internal_error | sms:rejected | sms:not_supported | sms:time_out | sms:error | sms:unknown | string)[],
>   max_attempts?: number | string
> }
> ```

> [accordion] max\_sms\_attempt\_settings full type
>
> ```ts theme={null}
> {
>   delay_in_seconds?: number | string,
>   enabled?: boolean,
>   last_result_criteria?: (call:powerdialer_no_available_agent | call:powerdialer_vm_drop | call:machine_detected | call:cancelled | call:missed | call:abandoned | sms:invalid_destination | sms:invalid_source | sms:no_route | sms:rejected_spam | sms:internal_error | sms:rejected | sms:not_supported | sms:time_out | sms:error | sms:unknown | string)[],
>   max_attempts?: number | string
> }
> ```

> [accordion] screen\_pop\_fields full type
>
> ```ts theme={null}
> {
>   display_name?: string,
>   display_order?: number | string,
>   name: string
> }[]
> ```

> [accordion] timegate\_settings full type
>
> ```ts theme={null}
> {
>   hours?: Record<string, any[][]>,
>   timezone?: string,
>   timezone_mode?: string
> }
> ```

***

### getContact

`powerdialer.getContact`

Get a Contact. Get a Contact

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getContact({ path: {"contact_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   contact_id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `number \| string \| any \| null` | No | — |
| `company_name` | `string \| any \| null` | No | — |
| `contact_id` | `string` | Yes | — |
| `contact_type` | `string` | Yes | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `email` | `string \| any \| null` | No | — |
| `emails` | `any[]` | No | — |
| `first_name` | `string \| any \| null` | No | — |
| `id` | `string` | Yes | — |
| `job_title` | `string \| any \| null` | No | — |
| `key` | `string` | Yes | — |
| `last_name` | `string \| any \| null` | No | — |
| `name` | `string \| any \| null` | No | — |
| `phone_number` | `string \| any \| null` | No | — |
| `phones` | `any[]` | No | — |

***

### getCsv

`powerdialer.getCsv`

Get CSV. Get an individual CSV entity

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getCsv({ path: {"csv_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   csv_id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `author_dp_key` | `string \| any \| null` | No | — |
| `author_id` | `string` | No | — |
| `author_key` | `string` | No | — |
| `columns` | `any[]` | No | — |
| `company_id` | `number \| string` | Yes | — |
| `csv_id` | `string` | Yes | — |
| `custom_mapping` | `Record<string, string>` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `download_url` | `string` | No | — |
| `file_type` | `CSV \| XLSX \| string` | No | — |
| `filename` | `string` | No | — |
| `gcs_filename` | `string \| any \| null` | No | — |
| `id` | `string` | Yes | — |
| `import_results` | `object` | No | — |
| `key` | `string` | Yes | — |
| `labels` | `any[]` | No | — |
| `lead_mapping` | `Record<string, do_not_import \| first_name \| last_name \| job_title \| industry \| role \| department \| external_id \| timezone \| lang \| primary_phone \| secondary_phone \| primary_email \| secondary_email \| address_name \| address_line1 \| address_line2 \| city \| region \| postal_code \| country \| company_name \| company_phone \| company_address_line1 \| company_address_line2 \| company_city \| company_region \| company_postal_code \| company_country \| company_sic_code \| company_naics_code \| company_blacklisted \| company_annual_revenue \| company_currency \| company_num_employees \| primary_phone_fallback \| string>` | No | — |
| `name` | `string` | No | — |
| `num_rows` | `number \| string \| any \| null` | No | — |
| `office_id` | `number \| string \| any \| null` | No | — |
| `sort_name` | `string \| any \| null` | No | — |
| `state` | `pending \| launching \| scheduled \| active \| paused \| complete \| error \| deleted \| cancelled \| string` | No | — |
| `strategy` | `skip \| merge \| string` | No | — |
| `tags` | `any[]` | No | — |

> [accordion] import\_results full type
>
> ```ts theme={null}
> {
>   collisions?: number | string,
>   created?: number | string,
>   duplicates?: number | string,
>   failed_batches?: number | string,
>   skipped?: number | string,
>   total?: number | string,
>   updated?: number | string
> }
> ```

***

### getCsvPresignedUrl

`powerdialer.getCsvPresignedUrl`

Generate a presigned url to download a CSV file with TTL=30s. Generate a presigned url to download a CSV file with TTL=30s

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getCsvPresignedUrl({ path: {"csv_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   csv_id: string
> }
> ```

**Output**

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

***

### getCsvs

`powerdialer.getCsvs`

Get List of CSVs. Get a list of Csv entities

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getCsvs({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   count?: boolean,
>   keys_only?: boolean,
>   total?: boolean,
>   cursor?: string,
>   offset?: number | string,
>   limit?: number | string,
>   target_ids?: string,
>   tag?: pending | launching | scheduled | active | paused | complete | error | deleted | cancelled | all | visible | archived,
>   states?: string,
>   state?: pending | launching | scheduled | active | paused | complete | error | deleted | cancelled,
>   search?: string,
>   order?: string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   author_dp_key?: string | any | null,
>   author_id?: string,
>   author_key?: string,
>   columns?: any[],
>   company_id: number | string,
>   csv_id: string,
>   custom_mapping?: Record<string, string>,
>   date_created?: number | string,
>   date_created_iso?: string,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   download_url?: string,
>   file_type?: CSV | XLSX | string,
>   filename?: string,
>   gcs_filename?: string | any | null,
>   id: string,
>   import_results?: {
>     collisions?: number | string,
>     created?: number | string,
>     duplicates?: number | string,
>     failed_batches?: number | string,
>     skipped?: number | string,
>     total?: number | string,
>     updated?: number | string
>   },
>   key: string,
>   labels?: any[],
>   lead_mapping?: Record<string, do_not_import | first_name | last_name | job_title | industry | role | department | external_id | timezone | lang | primary_phone | secondary_phone | primary_email | secondary_email | address_name | address_line1 | address_line2 | city | region | postal_code | country | company_name | company_phone | company_address_line1 | company_address_line2 | company_city | company_region | company_postal_code | company_country | company_sic_code | company_naics_code | company_blacklisted | company_annual_revenue | company_currency | company_num_employees | primary_phone_fallback | string>,
>   name?: string,
>   num_rows?: number | string | any | null,
>   office_id?: number | string | any | null,
>   sort_name?: string | any | null,
>   state?: pending | launching | scheduled | active | paused | complete | error | deleted | cancelled | string,
>   strategy?: skip | merge | string,
>   tags?: any[]
> }[]
> ```

***

### getCurrentUser

`powerdialer.getCurrentUser`

The Current User. JSON representation of the logged in user

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getCurrentUser({  });
```

**Input:** *empty object*

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `number \| string \| any \| null` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `duty_status_reason` | `string \| any \| null` | No | — |
| `emails` | `any[]` | No | — |
| `group_details` | `object` | No | — |
| `group_ids` | `any[]` | No | — |
| `id` | `string` | Yes | — |
| `image_url` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `max_wrap_up_seconds` | `number \| string \| any \| null` | No | — |
| `name` | `string \| any \| null` | No | — |
| `office_id` | `number \| string \| any \| null` | No | — |
| `on_duty_group_ids` | `any[]` | No | — |
| `on_duty_status` | `string \| any \| null` | No | — |
| `phones` | `any[]` | No | — |
| `ring_seconds` | `number \| string \| any \| null` | No | — |
| `role` | `string \| any \| null` | No | — |
| `state` | `string \| any \| null` | No | — |
| `target_id` | `string` | Yes | — |
| `target_type` | `user \| room \| callcenter \| department \| office \| company \| service_account \| string` | Yes | — |
| `timezone` | `string \| any \| null` | No | — |

> [accordion] group\_details full type
>
> ```ts theme={null}
> {
> }
> ```

***

### getCustomProperties

`powerdialer.getCustomProperties`

List Custom Properties. Get a list of custom properties for the company

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getCustomProperties({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   count?: boolean,
>   keys_only?: boolean,
>   total?: boolean,
>   cursor?: string,
>   offset?: number | string,
>   limit?: number | string,
>   name?: string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   company_id: number | string,
>   date_created?: number | string,
>   date_created_iso?: string,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   display_name?: string | any | null,
>   id: string,
>   key: string,
>   name: string,
>   sort_name?: string | any | null
> }[]
> ```

***

### getCustomProperty

`powerdialer.getCustomProperty`

Get Custom Property. Get a single custom property by id

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getCustomProperty({ path: {"id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `number \| string` | Yes | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `display_name` | `string \| any \| null` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `name` | `string` | Yes | — |
| `sort_name` | `string \| any \| null` | No | — |

***

### getDialpadOAuthService

`powerdialer.getDialpadOAuthService`

Get Dialpad OAuth Service. Get a Dialpad OAuth Service record by service name

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getDialpadOAuthService({ path: {"service":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   service: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `access_expiration` | `number \| string` | No | — |
| `access_expiration_iso` | `string` | No | — |
| `company_id` | `number \| string` | Yes | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `id` | `string` | Yes | — |
| `instance_url` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `organization_id` | `string \| any \| null` | No | — |
| `service` | `salesforce \| string` | Yes | — |
| `target_id` | `string` | No | — |
| `target_key` | `string` | No | — |

***

### getEventLogs

`powerdialer.getEventLogs`

Get EventLogs. Get a list of EventLog's for a Campaign

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getEventLogs({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   order?: string,
>   subject_id?: string,
>   campaign_id?: string,
>   tags?: string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   campaign_id?: string | any | null,
>   company_id: number | string,
>   date_created?: number | string,
>   date_created_iso?: string,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   details?: {
>   },
>   event_id: string,
>   id: string,
>   key: string,
>   message?: string | any | null,
>   severity?: info | warn | error | string,
>   subject?: {
>     addresses?: {
>       city?: any,
>       country?: any,
>       line1?: any,
>       line2?: any,
>       name?: any,
>       postal_code?: any,
>       region?: any
>     }[],
>     company_id: number | string,
>     contact_id?: string | any | null,
>     contact_type?: string | any | null,
>     csv_id?: string | any | null,
>     csv_line?: number | string | any | null,
>     custom?: {
>     },
>     date_created?: number | string,
>     date_created_iso?: string,
>     date_first_contacted?: number | string,
>     date_first_contacted_iso?: string,
>     date_last_contacted?: number | string,
>     date_last_contacted_iso?: string,
>     date_modified?: number | string,
>     date_modified_iso?: string,
>     department?: string | any | null,
>     emails?: {
>       domain?: any,
>       email: any,
>       label?: any
>     }[],
>     engagement_score?: number | string | any | null,
>     external_id?: string | any | null,
>     first_name?: string | any | null,
>     home_phone?: string | any | null,
>     id: string,
>     image_url?: string,
>     industry?: string | any | null,
>     job_title?: string | any | null,
>     key: string,
>     lang?: string | any | null,
>     last_medium?: string | any | null,
>     last_name?: string | any | null,
>     lead_company_id?: string | any | null,
>     lead_id: string,
>     lead_score?: number | string | any | null,
>     lead_source?: hubspot | csv | callback | api | salesforce | receptionist | string,
>     mobile_phone?: string | any | null,
>     name?: string,
>     owner_id?: string | any | null,
>     owner_type?: string | any | null,
>     phones?: {
>       country?: any,
>       display?: any,
>       label?: any,
>       number: any
>     }[],
>     preferred_medium?: string | any | null,
>     primary_address?: {
>     } | any | null,
>     primary_email?: string | any | null,
>     primary_phone?: string | any | null,
>     remote_id?: string | any | null,
>     role?: string | any | null,
>     secondary_email?: string | any | null,
>     secondary_phone?: string | any | null,
>     state?: pending | active | deleted | string,
>     tags?: any[],
>     timezone?: string | any | null
>   } | {
>     company_id: number | string,
>     consent?: implied | consent | written_consent | revoked | string,
>     date_created?: number | string,
>     date_created_iso?: string,
>     date_dnc_expires?: number | string,
>     date_dnc_expires_iso?: string,
>     date_dnc_opt_out?: number | string,
>     date_dnc_opt_out_iso?: string,
>     date_dnt_expires?: number | string,
>     date_dnt_expires_iso?: string,
>     date_dnt_opt_out?: number | string,
>     date_dnt_opt_out_iso?: string,
>     date_modified?: number | string,
>     date_modified_iso?: string,
>     dnc?: boolean | any | null,
>     dnc_scope?: powerdialer | ever | string,
>     dnt?: boolean | any | null,
>     dnt_scope?: powerdialer | ever | string,
>     e164: string,
>     formatted_phone?: string | any | null,
>     id: string,
>     is_dnc_expired?: boolean,
>     is_dnt_expired?: boolean,
>     key: string,
>     label?: mobile | work | home | other | string,
>     last_author_dp_key?: string | any | null,
>     last_author_id?: string | any | null,
>     last_csv_id?: string | any | null,
>     last_source?: api | csv | dp_contact | string,
>     state?: active | deleted | string,
>     tags?: any[],
>     timezone?: string | any | null,
>     validity?: good | unverified | disconnected | fax | spam | wrong_number | string
>   } | {
>     call_id?: string,
>     call_key?: string,
>     campaign_id?: string | any | null,
>     company_id: number | string,
>     contact_id?: string,
>     contact_key?: string,
>     csv?: {
>     },
>     current_rule_id?: string,
>     current_rule_key?: string,
>     date_created?: number | string,
>     date_created_iso?: string,
>     date_estimate?: number | string,
>     date_estimate_iso?: string,
>     date_modified?: number | string,
>     date_modified_iso?: string,
>     history?: {
>       call_attempts?: number | string,
>       last_call_id?: number | string | any | null,
>       last_categories?: any[] | any | null,
>       last_error_id?: string | any | null,
>       rules?: Record<string, any>
>     },
>     id: string,
>     index?: number,
>     item_id: string,
>     key: string,
>     lead_id?: string,
>     lead_key?: string,
>     list_id: string,
>     result_code?: call:powerdialer_no_available_agent | call:human_agent | call:ai_agent | call:outbound_connected | call:powerdialer_vm_drop | call:machine_detected | call:powerdialer_call | call:active | call:outbound | call:cancelled | call:inbound | call:missed | call:abandoned | call:user_initiated | call:max_attempts_item | call:max_attempts_delay_not_met | call:max_attempts_criteria_not_met | call:max_attempts_campaign_phone_total | call:max_attempts_campaign_phone_daily | call:max_attempts_campaign_phone_rolling | call:max_attempts_campaign_contact_total | call:max_attempts_campaign_contact_daily | call:max_attempts_campaign_contact_rolling | call:max_attempts_campaign_company_total | call:max_attempts_campaign_company_daily | call:max_attempts_campaign_company_rolling | call:max_attempts_global_phone_daily | call:max_attempts_global_phone_rolling | call:max_attempts_global_contact_daily | call:max_attempts_global_contact_rolling | call:max_attempts_global_company_daily | call:max_attempts_global_company_rolling | call:dnc | call:timegate_failed | call:fdcpa_max_attempted | call:fdcpa_max_connected | call:no_consent | call:skipped | sms:dnt | sms:timegate_failed | sms:no_consent | sms:skipped | sms:accepted | sms:invalid_destination | sms:invalid_source | sms:no_route | sms:rejected_spam | sms:internal_error | sms:rejected | sms:not_supported | sms:time_out | sms:error | sms:unknown | sms:forbidden | sms:owner_no_international_messaging | sms:unregistered_a2p_not_allowed | sms:owner_not_enough_sms_credits | sms:owner_not_enough_credits | sms:messaging_disabled | sms:owner_free_user | sms:contact_missing_number | sms:contact_is_room | sms:contact_is_shared_line | sms:staff_contact | sms:company_affinity | sms:not_in_free_company | sms:invalid_number | string,
>     sms_id?: string,
>     sms_key?: string,
>     state?: pending | launching | scheduled | active | paused | complete | error | deleted | cancelled | incomplete | string,
>     status?: Upcoming | In Progress | Rescheduled | Complete | Error | Excluded | Incomplete | string,
>     tags?: any[]
>   } | {
>     audience_ids?: any[],
>     audience_keys?: any[],
>     author_dp_key?: string | any | null,
>     author_id?: string,
>     author_key?: string,
>     company_id: number | string,
>     csv_columns?: any[],
>     csv_ids?: any[],
>     csv_keys?: any[],
>     date_created?: number | string,
>     date_created_iso?: string,
>     date_modified?: number | string,
>     date_modified_iso?: string,
>     date_user_modified?: number | string,
>     date_user_modified_iso?: string,
>     id: string,
>     is_shared?: boolean,
>     key: string,
>     last_author_dp_key?: string | any | null,
>     last_author_id_id?: string,
>     last_author_id_key?: string,
>     lead_order?: any[],
>     list_id: string,
>     name?: string,
>     num_csv_rows?: number | string,
>     num_manual_rows?: number | string,
>     num_query_rows?: number | string,
>     num_rows?: number | string,
>     num_snapshot_rows?: number | string,
>     office_id?: number | string | any | null,
>     salesforce_listview_id?: string | any | null,
>     sort_name?: string | any | null,
>     static_list_ids?: any[],
>     static_list_keys?: any[],
>     tags?: any[]
>   } | any | null,
>   subject_id?: string | any | null,
>   subject_type?: Lead | Phone | LeadListItem | LeadList | string | null,
>   tags?: any[]
> }[]
> ```

***

### getGlobalSettings

`powerdialer.getGlobalSettings`

Get Company GlobalSettings. Get company GlobalSettings with only modified fields

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getGlobalSettings({ path: {"company_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   company_id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_attempt_limits` | `object` | No | — |
| `company_id` | `number \| string` | Yes | — |
| `contact_attempt_limits` | `object` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `fdcpa_settings` | `object` | No | — |
| `id` | `string` | Yes | — |
| `idle_boost_threshold_seconds` | `number \| string` | No | — |
| `key` | `string` | Yes | — |
| `phone_attempt_limits` | `object` | No | — |
| `salesforce` | `object` | No | — |

> [accordion] company\_attempt\_limits full type
>
> ```ts theme={null}
> {
>   all_campaigns?: {
>     daily_limit?: number | string,
>     enabled?: boolean,
>     rolling_in_days?: number | string,
>     rolling_limit?: number | string
>   },
>   per_campaign?: {
>     daily_limit?: number | string,
>     enabled?: boolean,
>     rolling_in_days?: number | string,
>     rolling_limit?: number | string,
>     total_limit?: number | string
>   }
> }
> ```

> [accordion] contact\_attempt\_limits full type
>
> ```ts theme={null}
> {
>   all_campaigns?: {
>     daily_limit?: number | string,
>     enabled?: boolean,
>     rolling_in_days?: number | string,
>     rolling_limit?: number | string
>   },
>   per_campaign?: {
>     daily_limit?: number | string,
>     enabled?: boolean,
>     rolling_in_days?: number | string,
>     rolling_limit?: number | string,
>     total_limit?: number | string
>   }
> }
> ```

> [accordion] fdcpa\_settings full type
>
> ```ts theme={null}
> {
>   attempted_call_rolling_days?: number | string,
>   connected_call_rolling_days?: number | string,
>   enabled?: boolean,
>   max_attempted_calls?: number | string,
>   max_connected_calls?: number | string
> }
> ```

> [accordion] phone\_attempt\_limits full type
>
> ```ts theme={null}
> {
>   all_campaigns?: {
>     daily_limit?: number | string,
>     enabled?: boolean,
>     rolling_in_days?: number | string,
>     rolling_limit?: number | string
>   },
>   per_campaign?: {
>     daily_limit?: number | string,
>     enabled?: boolean,
>     rolling_in_days?: number | string,
>     rolling_limit?: number | string,
>     total_limit?: number | string
>   }
> }
> ```

> [accordion] salesforce full type
>
> ```ts theme={null}
> {
>   sfdc_contact?: {
>     custom_mapping?: any,
>     lead_mapping?: any
>   },
>   sfdc_lead?: {
>     custom_mapping?: any,
>     lead_mapping?: any
>   },
>   sfdc_opportunity?: {
>     custom_mapping?: any,
>     lead_mapping?: any
>   }
> }
> ```

***

### getJob

`powerdialer.getJob`

Get Job. Get a single Job by ID, including its reduced results

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getJob({ path: {"job_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   job_id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `number \| string` | Yes | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `id` | `string` | Yes | — |
| `job_id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `labels` | `any[]` | No | — |
| `name` | `string \| any \| null` | No | — |
| `results` | `any \| any \| null` | No | — |
| `runner` | `any \| any \| null` | No | — |
| `state` | `pending \| mapping \| batching \| reducing \| complete \| error \| string` | No | — |
| `tags` | `any[]` | No | — |

***

### getJobs

`powerdialer.getJobs`

List Jobs. Get all background Jobs for the company, newest first

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getJobs({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   count?: boolean,
>   keys_only?: boolean,
>   total?: boolean,
>   cursor?: string,
>   offset?: number | string,
>   limit?: number | string,
>   tag?: string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   company_id: number | string,
>   date_created?: number | string,
>   date_created_iso?: string,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   id: string,
>   job_id: string,
>   key: string,
>   labels?: any[],
>   name?: string | any | null,
>   results?: any | any | null,
>   runner?: any | any | null,
>   state?: pending | mapping | batching | reducing | complete | error | string,
>   tags?: any[]
> }[]
> ```

***

### getLead

`powerdialer.getLead`

Get Lead. Get an individual lead

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getLead({ path: {"lead_id":"sample-value"}, query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `query` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   lead_id: string
> }
> ```

> [accordion] query full type
>
> ```ts theme={null}
> {
>   include_deleted?: boolean
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `addresses` | `object[]` | No | — |
| `company_id` | `number \| string` | Yes | — |
| `contact_id` | `string \| any \| null` | No | — |
| `contact_type` | `string \| any \| null` | No | — |
| `csv_id` | `string \| any \| null` | No | — |
| `csv_line` | `number \| string \| any \| null` | No | — |
| `custom` | `object` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_first_contacted` | `number \| string` | No | — |
| `date_first_contacted_iso` | `string` | No | — |
| `date_last_contacted` | `number \| string` | No | — |
| `date_last_contacted_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `department` | `string \| any \| null` | No | — |
| `emails` | `object[]` | No | — |
| `engagement_score` | `number \| string \| any \| null` | No | — |
| `external_id` | `string \| any \| null` | No | — |
| `first_name` | `string \| any \| null` | No | — |
| `home_phone` | `string \| any \| null` | No | — |
| `id` | `string` | Yes | — |
| `image_url` | `string` | No | — |
| `industry` | `string \| any \| null` | No | — |
| `job_title` | `string \| any \| null` | No | — |
| `key` | `string` | Yes | — |
| `lang` | `string \| any \| null` | No | — |
| `last_medium` | `string \| any \| null` | No | — |
| `last_name` | `string \| any \| null` | No | — |
| `lead_company_id` | `string \| any \| null` | No | — |
| `lead_id` | `string` | Yes | — |
| `lead_score` | `number \| string \| any \| null` | No | — |
| `lead_source` | `hubspot \| csv \| callback \| api \| salesforce \| receptionist \| string` | No | — |
| `mobile_phone` | `string \| any \| null` | No | — |
| `name` | `string` | No | — |
| `owner_id` | `string \| any \| null` | No | — |
| `owner_type` | `string \| any \| null` | No | — |
| `phones` | `object[]` | No | — |
| `preferred_medium` | `string \| any \| null` | No | — |
| `primary_address` | `object \| any \| null` | No | — |
| `primary_email` | `string \| any \| null` | No | — |
| `primary_phone` | `string \| any \| null` | No | — |
| `remote_id` | `string \| any \| null` | No | — |
| `role` | `string \| any \| null` | No | — |
| `secondary_email` | `string \| any \| null` | No | — |
| `secondary_phone` | `string \| any \| null` | No | — |
| `state` | `pending \| active \| deleted \| string` | No | — |
| `tags` | `any[]` | No | — |
| `timezone` | `string \| any \| null` | No | — |

> [accordion] addresses full type
>
> ```ts theme={null}
> {
>   city?: string | any | null,
>   country?: string | any | null,
>   line1?: string | any | null,
>   line2?: string | any | null,
>   name?: string | any | null,
>   postal_code?: string | any | null,
>   region?: string | any | null
> }[]
> ```

> [accordion] custom full type
>
> ```ts theme={null}
> {
> }
> ```

> [accordion] emails full type
>
> ```ts theme={null}
> {
>   domain?: string | any | null,
>   email: string,
>   label?: string | any | null
> }[]
> ```

> [accordion] phones full type
>
> ```ts theme={null}
> {
>   country?: string | any | null,
>   display?: string | any | null,
>   label?: string | any | null,
>   number: string
> }[]
> ```

> [accordion] primary\_address full type
>
> ```ts theme={null}
> {
> } | any | null
> ```

***

### getLeadCompanies

`powerdialer.getLeadCompanies`

List of LeadCompanies. Get a list of LeadCompany entities, with optional search and ordering

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getLeadCompanies({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   count?: boolean,
>   keys_only?: boolean,
>   total?: boolean,
>   cursor?: string,
>   offset?: number | string,
>   limit?: number | string,
>   order?: string,
>   search?: string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   address?: {
>     city?: string | any | null,
>     country?: string | any | null,
>     line1?: string | any | null,
>     line2?: string | any | null,
>     name?: string | any | null,
>     postal_code?: string | any | null,
>     region?: string | any | null
>   },
>   annual_revenue?: number | string | any | null,
>   blacklisted?: boolean | any | null,
>   company_id: number | string,
>   currency?: string | any | null,
>   date_created?: number | string,
>   date_created_iso?: string,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   id: string,
>   key: string,
>   lead_company_id: string,
>   naics_code?: number | string | any | null,
>   name?: string | any | null,
>   num_employees?: number | string | any | null,
>   phone?: string | any | null,
>   sanitized_name?: string | any | null,
>   sic_code?: number | string | any | null
> }[]
> ```

***

### getLeadCompany

`powerdialer.getLeadCompany`

Get LeadCompany. Get an individual LeadCompany

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getLeadCompany({ path: {"lead_company_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   lead_company_id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `address` | `object` | No | — |
| `annual_revenue` | `number \| string \| any \| null` | No | — |
| `blacklisted` | `boolean \| any \| null` | No | — |
| `company_id` | `number \| string` | Yes | — |
| `currency` | `string \| any \| null` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `lead_company_id` | `string` | Yes | — |
| `naics_code` | `number \| string \| any \| null` | No | — |
| `name` | `string \| any \| null` | No | — |
| `num_employees` | `number \| string \| any \| null` | No | — |
| `phone` | `string \| any \| null` | No | — |
| `sanitized_name` | `string \| any \| null` | No | — |
| `sic_code` | `number \| string \| any \| null` | No | — |

> [accordion] address full type
>
> ```ts theme={null}
> {
>   city?: string | any | null,
>   country?: string | any | null,
>   line1?: string | any | null,
>   line2?: string | any | null,
>   name?: string | any | null,
>   postal_code?: string | any | null,
>   region?: string | any | null
> }
> ```

***

### getLeadExport

`powerdialer.getLeadExport`

Get a Lead CSV export. Poll an export started with POST /api/lead\_export. While it is still running there is no 'url'; on success 'url' is a short-lived signed download link; on failure 'error' says why.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getLeadExport({ path: {"export_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   export_id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `number \| string` | Yes | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `error` | `string \| any \| null` | No | — |
| `gcs_filename` | `string \| any \| null` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `lead_export_id` | `string` | Yes | — |
| `lead_source` | `string \| any \| null` | No | — |
| `request_user_id` | `string` | Yes | — |
| `url` | `string` | No | — |

***

### getLeadItem

`powerdialer.getLeadItem`

Get LeadItem. Get a LeadItem

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getLeadItem({ path: {"item_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   item_id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `item` | `object` | Yes | — |
| `item_id` | `string` | Yes | — |
| `last_call` | `object \| any \| null` | Yes | — |
| `lead` | `object` | Yes | — |

> [accordion] item full type
>
> ```ts theme={null}
> {
>   call_id?: string,
>   call_key?: string,
>   campaign_id?: string | any | null,
>   company_id: number | string,
>   contact_id?: string,
>   contact_key?: string,
>   csv?: {
>   },
>   current_rule_id?: string,
>   current_rule_key?: string,
>   date_created?: number | string,
>   date_created_iso?: string,
>   date_estimate?: number | string,
>   date_estimate_iso?: string,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   history?: {
>     call_attempts?: number | string,
>     last_call_id?: number | string | any | null,
>     last_categories?: (call:powerdialer_no_available_agent | call:human_agent | call:ai_agent | call:outbound_connected | call:powerdialer_vm_drop | call:machine_detected | call:powerdialer_call | call:active | call:outbound | call:cancelled | call:inbound | call:missed | call:abandoned | call:user_initiated | string | sms:accepted | sms:invalid_destination | sms:invalid_source | sms:no_route | sms:rejected_spam | sms:internal_error | sms:rejected | sms:not_supported | sms:time_out | sms:error | sms:unknown | sms:forbidden | sms:owner_no_international_messaging | sms:unregistered_a2p_not_allowed | sms:owner_not_enough_sms_credits | sms:owner_not_enough_credits | sms:messaging_disabled | sms:owner_free_user | sms:contact_missing_number | sms:contact_is_room | sms:contact_is_shared_line | sms:staff_contact | sms:company_affinity | sms:not_in_free_company | sms:invalid_number | string | call:max_attempts_item | call:max_attempts_delay_not_met | call:max_attempts_criteria_not_met | call:max_attempts_campaign_phone_total | call:max_attempts_campaign_phone_daily | call:max_attempts_campaign_phone_rolling | call:max_attempts_campaign_contact_total | call:max_attempts_campaign_contact_daily | call:max_attempts_campaign_contact_rolling | call:max_attempts_campaign_company_total | call:max_attempts_campaign_company_daily | call:max_attempts_campaign_company_rolling | call:max_attempts_global_phone_daily | call:max_attempts_global_phone_rolling | call:max_attempts_global_contact_daily | call:max_attempts_global_contact_rolling | call:max_attempts_global_company_daily | call:max_attempts_global_company_rolling | string | string)[] | any | null,
>     last_error_id?: string | any | null,
>     rules?: Record<string, {
>       attempts?: Record<string, any>,
>       rule_type?: string
>     }>
>   },
>   id: string,
>   index?: number,
>   item_id: string,
>   key: string,
>   lead_id?: string,
>   lead_key?: string,
>   list_id: string,
>   result_code?: call:powerdialer_no_available_agent | call:human_agent | call:ai_agent | call:outbound_connected | call:powerdialer_vm_drop | call:machine_detected | call:powerdialer_call | call:active | call:outbound | call:cancelled | call:inbound | call:missed | call:abandoned | call:user_initiated | call:max_attempts_item | call:max_attempts_delay_not_met | call:max_attempts_criteria_not_met | call:max_attempts_campaign_phone_total | call:max_attempts_campaign_phone_daily | call:max_attempts_campaign_phone_rolling | call:max_attempts_campaign_contact_total | call:max_attempts_campaign_contact_daily | call:max_attempts_campaign_contact_rolling | call:max_attempts_campaign_company_total | call:max_attempts_campaign_company_daily | call:max_attempts_campaign_company_rolling | call:max_attempts_global_phone_daily | call:max_attempts_global_phone_rolling | call:max_attempts_global_contact_daily | call:max_attempts_global_contact_rolling | call:max_attempts_global_company_daily | call:max_attempts_global_company_rolling | call:dnc | call:timegate_failed | call:fdcpa_max_attempted | call:fdcpa_max_connected | call:no_consent | call:skipped | sms:dnt | sms:timegate_failed | sms:no_consent | sms:skipped | sms:accepted | sms:invalid_destination | sms:invalid_source | sms:no_route | sms:rejected_spam | sms:internal_error | sms:rejected | sms:not_supported | sms:time_out | sms:error | sms:unknown | sms:forbidden | sms:owner_no_international_messaging | sms:unregistered_a2p_not_allowed | sms:owner_not_enough_sms_credits | sms:owner_not_enough_credits | sms:messaging_disabled | sms:owner_free_user | sms:contact_missing_number | sms:contact_is_room | sms:contact_is_shared_line | sms:staff_contact | sms:company_affinity | sms:not_in_free_company | sms:invalid_number | string,
>   sms_id?: string,
>   sms_key?: string,
>   state?: pending | launching | scheduled | active | paused | complete | error | deleted | cancelled | incomplete | string,
>   status?: Upcoming | In Progress | Rescheduled | Complete | Error | Excluded | Incomplete | string,
>   tags?: any[]
> }
> ```

> [accordion] last\_call full type
>
> ```ts theme={null}
> {
>   analytics_categories?: any[],
>   call_id: number | string,
>   call_result?: connected | missed | voicemail | called | string,
>   campaign_id?: string | any | null,
>   company_id: number | string,
>   contact_id?: string | any | null,
>   contact_type?: string | any | null,
>   date_connected?: number | string,
>   date_connected_iso?: string,
>   date_created?: number | string,
>   date_created_iso?: string,
>   date_ended?: number | string,
>   date_ended_iso?: string,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   device_type?: string | any | null,
>   direction?: inbound | outbound | string,
>   dispositions?: any[],
>   external_endpoint?: string | any | null,
>   external_leg_id?: string | any | null,
>   id: string,
>   internal_leg_ids?: any[],
>   is_recording?: boolean | any | null,
>   key: string,
>   lead_company_id?: string | any | null,
>   machine_detection_confidence?: number | any | null,
>   machine_detection_type?: string | any | null,
>   operator_call_id?: number | string | any | null,
>   operator_id?: string | any | null,
>   operator_type?: string | any | null,
>   powerdial_info?: {
>   },
>   state: preanswer | calling | ringing | connected | merged | hold | queued | voicemail | eavesdrop | monitor | barge | hangup | blocked | admin | parked | takeover | postcall | transcription | recording | csat | dispositions | missed | voicemail_uploaded | admin_recording | string,
>   target_id?: string | any | null,
>   target_type?: string | any | null
> } | any | null
> ```

> [accordion] lead full type
>
> ```ts theme={null}
> {
>   addresses?: {
>     city?: string | any | null,
>     country?: string | any | null,
>     line1?: string | any | null,
>     line2?: string | any | null,
>     name?: string | any | null,
>     postal_code?: string | any | null,
>     region?: string | any | null
>   }[],
>   company_id: number | string,
>   contact_id?: string | any | null,
>   contact_type?: string | any | null,
>   csv_id?: string | any | null,
>   csv_line?: number | string | any | null,
>   custom?: {
>   },
>   date_created?: number | string,
>   date_created_iso?: string,
>   date_first_contacted?: number | string,
>   date_first_contacted_iso?: string,
>   date_last_contacted?: number | string,
>   date_last_contacted_iso?: string,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   department?: string | any | null,
>   emails?: {
>     domain?: string | any | null,
>     email: string,
>     label?: string | any | null
>   }[],
>   engagement_score?: number | string | any | null,
>   external_id?: string | any | null,
>   first_name?: string | any | null,
>   home_phone?: string | any | null,
>   id: string,
>   image_url?: string,
>   industry?: string | any | null,
>   job_title?: string | any | null,
>   key: string,
>   lang?: string | any | null,
>   last_medium?: string | any | null,
>   last_name?: string | any | null,
>   lead_company_id?: string | any | null,
>   lead_id: string,
>   lead_score?: number | string | any | null,
>   lead_source?: hubspot | csv | callback | api | salesforce | receptionist | string,
>   mobile_phone?: string | any | null,
>   name?: string,
>   owner_id?: string | any | null,
>   owner_type?: string | any | null,
>   phones?: {
>     country?: string | any | null,
>     display?: string | any | null,
>     label?: string | any | null,
>     number: string
>   }[],
>   preferred_medium?: string | any | null,
>   primary_address?: {
>   } | any | null,
>   primary_email?: string | any | null,
>   primary_phone?: string | any | null,
>   remote_id?: string | any | null,
>   role?: string | any | null,
>   secondary_email?: string | any | null,
>   secondary_phone?: string | any | null,
>   state?: pending | active | deleted | string,
>   tags?: any[],
>   timezone?: string | any | null
> }
> ```

***

### getLeadItems

`powerdialer.getLeadItems`

List of LeadListItem + Lead. A mashup api to return a sortable, searchable list for campaign details

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getLeadItems({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   count?: boolean,
>   keys_only?: boolean,
>   total?: boolean,
>   cursor?: string,
>   offset?: number | string,
>   limit?: number | string,
>   search?: string,
>   order?: string,
>   list_id?: string,
>   campaign_id?: string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   item: {
>     call_id?: string,
>     call_key?: string,
>     campaign_id?: string | any | null,
>     company_id: number | string,
>     contact_id?: string,
>     contact_key?: string,
>     csv?: {
>     },
>     current_rule_id?: string,
>     current_rule_key?: string,
>     date_created?: number | string,
>     date_created_iso?: string,
>     date_estimate?: number | string,
>     date_estimate_iso?: string,
>     date_modified?: number | string,
>     date_modified_iso?: string,
>     history?: {
>       call_attempts?: number | string,
>       last_call_id?: number | string | any | null,
>       last_categories?: (any | any | any | any)[] | any | null,
>       last_error_id?: string | any | null,
>       rules?: Record<string, {
>         attempts?: any,
>         rule_type?: any
>       }>
>     },
>     id: string,
>     index?: number,
>     item_id: string,
>     key: string,
>     lead_id?: string,
>     lead_key?: string,
>     list_id: string,
>     result_code?: call:powerdialer_no_available_agent | call:human_agent | call:ai_agent | call:outbound_connected | call:powerdialer_vm_drop | call:machine_detected | call:powerdialer_call | call:active | call:outbound | call:cancelled | call:inbound | call:missed | call:abandoned | call:user_initiated | call:max_attempts_item | call:max_attempts_delay_not_met | call:max_attempts_criteria_not_met | call:max_attempts_campaign_phone_total | call:max_attempts_campaign_phone_daily | call:max_attempts_campaign_phone_rolling | call:max_attempts_campaign_contact_total | call:max_attempts_campaign_contact_daily | call:max_attempts_campaign_contact_rolling | call:max_attempts_campaign_company_total | call:max_attempts_campaign_company_daily | call:max_attempts_campaign_company_rolling | call:max_attempts_global_phone_daily | call:max_attempts_global_phone_rolling | call:max_attempts_global_contact_daily | call:max_attempts_global_contact_rolling | call:max_attempts_global_company_daily | call:max_attempts_global_company_rolling | call:dnc | call:timegate_failed | call:fdcpa_max_attempted | call:fdcpa_max_connected | call:no_consent | call:skipped | sms:dnt | sms:timegate_failed | sms:no_consent | sms:skipped | sms:accepted | sms:invalid_destination | sms:invalid_source | sms:no_route | sms:rejected_spam | sms:internal_error | sms:rejected | sms:not_supported | sms:time_out | sms:error | sms:unknown | sms:forbidden | sms:owner_no_international_messaging | sms:unregistered_a2p_not_allowed | sms:owner_not_enough_sms_credits | sms:owner_not_enough_credits | sms:messaging_disabled | sms:owner_free_user | sms:contact_missing_number | sms:contact_is_room | sms:contact_is_shared_line | sms:staff_contact | sms:company_affinity | sms:not_in_free_company | sms:invalid_number | string,
>     sms_id?: string,
>     sms_key?: string,
>     state?: pending | launching | scheduled | active | paused | complete | error | deleted | cancelled | incomplete | string,
>     status?: Upcoming | In Progress | Rescheduled | Complete | Error | Excluded | Incomplete | string,
>     tags?: any[]
>   },
>   item_id: string,
>   last_call: {
>     analytics_categories?: any[],
>     call_id: number | string,
>     call_result?: connected | missed | voicemail | called | string,
>     campaign_id?: string | any | null,
>     company_id: number | string,
>     contact_id?: string | any | null,
>     contact_type?: string | any | null,
>     date_connected?: number | string,
>     date_connected_iso?: string,
>     date_created?: number | string,
>     date_created_iso?: string,
>     date_ended?: number | string,
>     date_ended_iso?: string,
>     date_modified?: number | string,
>     date_modified_iso?: string,
>     device_type?: string | any | null,
>     direction?: inbound | outbound | string,
>     dispositions?: any[],
>     external_endpoint?: string | any | null,
>     external_leg_id?: string | any | null,
>     id: string,
>     internal_leg_ids?: any[],
>     is_recording?: boolean | any | null,
>     key: string,
>     lead_company_id?: string | any | null,
>     machine_detection_confidence?: number | any | null,
>     machine_detection_type?: string | any | null,
>     operator_call_id?: number | string | any | null,
>     operator_id?: string | any | null,
>     operator_type?: string | any | null,
>     powerdial_info?: {
>     },
>     state: preanswer | calling | ringing | connected | merged | hold | queued | voicemail | eavesdrop | monitor | barge | hangup | blocked | admin | parked | takeover | postcall | transcription | recording | csat | dispositions | missed | voicemail_uploaded | admin_recording | string,
>     target_id?: string | any | null,
>     target_type?: string | any | null
>   } | any | null,
>   lead: {
>     addresses?: {
>       city?: any | any,
>       country?: any | any,
>       line1?: any | any,
>       line2?: any | any,
>       name?: any | any,
>       postal_code?: any | any,
>       region?: any | any
>     }[],
>     company_id: number | string,
>     contact_id?: string | any | null,
>     contact_type?: string | any | null,
>     csv_id?: string | any | null,
>     csv_line?: number | string | any | null,
>     custom?: {
>     },
>     date_created?: number | string,
>     date_created_iso?: string,
>     date_first_contacted?: number | string,
>     date_first_contacted_iso?: string,
>     date_last_contacted?: number | string,
>     date_last_contacted_iso?: string,
>     date_modified?: number | string,
>     date_modified_iso?: string,
>     department?: string | any | null,
>     emails?: {
>       domain?: any | any,
>       email: string,
>       label?: any | any
>     }[],
>     engagement_score?: number | string | any | null,
>     external_id?: string | any | null,
>     first_name?: string | any | null,
>     home_phone?: string | any | null,
>     id: string,
>     image_url?: string,
>     industry?: string | any | null,
>     job_title?: string | any | null,
>     key: string,
>     lang?: string | any | null,
>     last_medium?: string | any | null,
>     last_name?: string | any | null,
>     lead_company_id?: string | any | null,
>     lead_id: string,
>     lead_score?: number | string | any | null,
>     lead_source?: hubspot | csv | callback | api | salesforce | receptionist | string,
>     mobile_phone?: string | any | null,
>     name?: string,
>     owner_id?: string | any | null,
>     owner_type?: string | any | null,
>     phones?: {
>       country?: any | any,
>       display?: any | any,
>       label?: any | any,
>       number: string
>     }[],
>     preferred_medium?: string | any | null,
>     primary_address?: {
>     } | any | null,
>     primary_email?: string | any | null,
>     primary_phone?: string | any | null,
>     remote_id?: string | any | null,
>     role?: string | any | null,
>     secondary_email?: string | any | null,
>     secondary_phone?: string | any | null,
>     state?: pending | active | deleted | string,
>     tags?: any[],
>     timezone?: string | any | null
>   }
> }[]
> ```

***

### getLeadListItem

`powerdialer.getLeadListItem`

Get a LeadListItem. Get a single LeadListItem by id

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getLeadListItem({ path: {"item_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   item_id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `call_id` | `string` | No | — |
| `call_key` | `string` | No | — |
| `campaign_id` | `string \| any \| null` | No | — |
| `company_id` | `number \| string` | Yes | — |
| `contact_id` | `string` | No | — |
| `contact_key` | `string` | No | — |
| `csv` | `object` | No | — |
| `current_rule_id` | `string` | No | — |
| `current_rule_key` | `string` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_estimate` | `number \| string` | No | — |
| `date_estimate_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `history` | `object` | No | — |
| `id` | `string` | Yes | — |
| `index` | `number` | No | — |
| `item_id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `lead_id` | `string` | No | — |
| `lead_key` | `string` | No | — |
| `list_id` | `string` | Yes | — |
| `result_code` | `call:powerdialer_no_available_agent \| call:human_agent \| call:ai_agent \| call:outbound_connected \| call:powerdialer_vm_drop \| call:machine_detected \| call:powerdialer_call \| call:active \| call:outbound \| call:cancelled \| call:inbound \| call:missed \| call:abandoned \| call:user_initiated \| call:max_attempts_item \| call:max_attempts_delay_not_met \| call:max_attempts_criteria_not_met \| call:max_attempts_campaign_phone_total \| call:max_attempts_campaign_phone_daily \| call:max_attempts_campaign_phone_rolling \| call:max_attempts_campaign_contact_total \| call:max_attempts_campaign_contact_daily \| call:max_attempts_campaign_contact_rolling \| call:max_attempts_campaign_company_total \| call:max_attempts_campaign_company_daily \| call:max_attempts_campaign_company_rolling \| call:max_attempts_global_phone_daily \| call:max_attempts_global_phone_rolling \| call:max_attempts_global_contact_daily \| call:max_attempts_global_contact_rolling \| call:max_attempts_global_company_daily \| call:max_attempts_global_company_rolling \| call:dnc \| call:timegate_failed \| call:fdcpa_max_attempted \| call:fdcpa_max_connected \| call:no_consent \| call:skipped \| sms:dnt \| sms:timegate_failed \| sms:no_consent \| sms:skipped \| sms:accepted \| sms:invalid_destination \| sms:invalid_source \| sms:no_route \| sms:rejected_spam \| sms:internal_error \| sms:rejected \| sms:not_supported \| sms:time_out \| sms:error \| sms:unknown \| sms:forbidden \| sms:owner_no_international_messaging \| sms:unregistered_a2p_not_allowed \| sms:owner_not_enough_sms_credits \| sms:owner_not_enough_credits \| sms:messaging_disabled \| sms:owner_free_user \| sms:contact_missing_number \| sms:contact_is_room \| sms:contact_is_shared_line \| sms:staff_contact \| sms:company_affinity \| sms:not_in_free_company \| sms:invalid_number \| string` | No | — |
| `sms_id` | `string` | No | — |
| `sms_key` | `string` | No | — |
| `state` | `pending \| launching \| scheduled \| active \| paused \| complete \| error \| deleted \| cancelled \| incomplete \| string` | No | — |
| `status` | `Upcoming \| In Progress \| Rescheduled \| Complete \| Error \| Excluded \| Incomplete \| string` | No | — |
| `tags` | `any[]` | No | — |

> [accordion] csv full type
>
> ```ts theme={null}
> {
> }
> ```

> [accordion] history full type
>
> ```ts theme={null}
> {
>   call_attempts?: number | string,
>   last_call_id?: number | string | any | null,
>   last_categories?: (call:powerdialer_no_available_agent | call:human_agent | call:ai_agent | call:outbound_connected | call:powerdialer_vm_drop | call:machine_detected | call:powerdialer_call | call:active | call:outbound | call:cancelled | call:inbound | call:missed | call:abandoned | call:user_initiated | string | sms:accepted | sms:invalid_destination | sms:invalid_source | sms:no_route | sms:rejected_spam | sms:internal_error | sms:rejected | sms:not_supported | sms:time_out | sms:error | sms:unknown | sms:forbidden | sms:owner_no_international_messaging | sms:unregistered_a2p_not_allowed | sms:owner_not_enough_sms_credits | sms:owner_not_enough_credits | sms:messaging_disabled | sms:owner_free_user | sms:contact_missing_number | sms:contact_is_room | sms:contact_is_shared_line | sms:staff_contact | sms:company_affinity | sms:not_in_free_company | sms:invalid_number | string | call:max_attempts_item | call:max_attempts_delay_not_met | call:max_attempts_criteria_not_met | call:max_attempts_campaign_phone_total | call:max_attempts_campaign_phone_daily | call:max_attempts_campaign_phone_rolling | call:max_attempts_campaign_contact_total | call:max_attempts_campaign_contact_daily | call:max_attempts_campaign_contact_rolling | call:max_attempts_campaign_company_total | call:max_attempts_campaign_company_daily | call:max_attempts_campaign_company_rolling | call:max_attempts_global_phone_daily | call:max_attempts_global_phone_rolling | call:max_attempts_global_contact_daily | call:max_attempts_global_contact_rolling | call:max_attempts_global_company_daily | call:max_attempts_global_company_rolling | string | string)[] | any | null,
>   last_error_id?: string | any | null,
>   rules?: Record<string, {
>     attempts?: Record<string, any>,
>     rule_type?: string
>   }>
> }
> ```

***

### getLeadLists

`powerdialer.getLeadLists`

List of LeadList. Get a list of LeadLists

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getLeadLists({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   count?: boolean,
>   keys_only?: boolean,
>   total?: boolean,
>   cursor?: string,
>   offset?: number | string,
>   limit?: number | string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   audience_ids?: any[],
>   audience_keys?: any[],
>   author_dp_key?: string | any | null,
>   author_id?: string,
>   author_key?: string,
>   company_id: number | string,
>   csv_columns?: any[],
>   csv_ids?: any[],
>   csv_keys?: any[],
>   date_created?: number | string,
>   date_created_iso?: string,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   date_user_modified?: number | string,
>   date_user_modified_iso?: string,
>   id: string,
>   is_shared?: boolean,
>   key: string,
>   last_author_dp_key?: string | any | null,
>   last_author_id_id?: string,
>   last_author_id_key?: string,
>   lead_order?: any[],
>   list_id: string,
>   name?: string,
>   num_csv_rows?: number | string,
>   num_manual_rows?: number | string,
>   num_query_rows?: number | string,
>   num_rows?: number | string,
>   num_snapshot_rows?: number | string,
>   office_id?: number | string | any | null,
>   salesforce_listview_id?: string | any | null,
>   sort_name?: string | any | null,
>   static_list_ids?: any[],
>   static_list_keys?: any[],
>   tags?: any[]
> }[]
> ```

***

### getLeadListView

`powerdialer.getLeadListView`

Search shared LeadLists. Search shared LeadLists with optional campaign counts

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getLeadListView({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   count?: boolean,
>   keys_only?: boolean,
>   total?: boolean,
>   cursor?: string,
>   offset?: number | string,
>   limit?: number | string,
>   shared_only?: boolean,
>   campaign_counts?: boolean,
>   tags?: string,
>   target_ids?: string,
>   order?: string,
>   search?: string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   campaign_counts?: {
>     active_campaigns?: number | string,
>     all_campaigns?: number | string,
>     paused_campaigns?: number | string
>   } | any | null,
>   lead_list: {
>     audience_ids?: any[],
>     audience_keys?: any[],
>     author_dp_key?: string | any | null,
>     author_id?: string,
>     author_key?: string,
>     company_id: number | string,
>     csv_columns?: any[],
>     csv_ids?: any[],
>     csv_keys?: any[],
>     date_created?: number | string,
>     date_created_iso?: string,
>     date_modified?: number | string,
>     date_modified_iso?: string,
>     date_user_modified?: number | string,
>     date_user_modified_iso?: string,
>     id: string,
>     is_shared?: boolean,
>     key: string,
>     last_author_dp_key?: string | any | null,
>     last_author_id_id?: string,
>     last_author_id_key?: string,
>     lead_order?: any[],
>     list_id: string,
>     name?: string,
>     num_csv_rows?: number | string,
>     num_manual_rows?: number | string,
>     num_query_rows?: number | string,
>     num_rows?: number | string,
>     num_snapshot_rows?: number | string,
>     office_id?: number | string | any | null,
>     salesforce_listview_id?: string | any | null,
>     sort_name?: string | any | null,
>     static_list_ids?: any[],
>     static_list_keys?: any[],
>     tags?: any[]
>   }
> }[]
> ```

***

### getLeadListViewById

`powerdialer.getLeadListViewById`

Get a LeadList view. Get a single LeadList with optional campaign counts

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getLeadListViewById({ path: {"list_id":"sample-value"}, query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `query` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   list_id: string
> }
> ```

> [accordion] query full type
>
> ```ts theme={null}
> {
>   campaign_counts?: boolean
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `campaign_counts` | `object \| any \| null` | No | — |
| `lead_list` | `object` | Yes | — |

> [accordion] campaign\_counts full type
>
> ```ts theme={null}
> {
>   active_campaigns?: number | string,
>   all_campaigns?: number | string,
>   paused_campaigns?: number | string
> } | any | null
> ```

> [accordion] lead\_list full type
>
> ```ts theme={null}
> {
>   audience_ids?: any[],
>   audience_keys?: any[],
>   author_dp_key?: string | any | null,
>   author_id?: string,
>   author_key?: string,
>   company_id: number | string,
>   csv_columns?: any[],
>   csv_ids?: any[],
>   csv_keys?: any[],
>   date_created?: number | string,
>   date_created_iso?: string,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   date_user_modified?: number | string,
>   date_user_modified_iso?: string,
>   id: string,
>   is_shared?: boolean,
>   key: string,
>   last_author_dp_key?: string | any | null,
>   last_author_id_id?: string,
>   last_author_id_key?: string,
>   lead_order?: any[],
>   list_id: string,
>   name?: string,
>   num_csv_rows?: number | string,
>   num_manual_rows?: number | string,
>   num_query_rows?: number | string,
>   num_rows?: number | string,
>   num_snapshot_rows?: number | string,
>   office_id?: number | string | any | null,
>   salesforce_listview_id?: string | any | null,
>   sort_name?: string | any | null,
>   static_list_ids?: any[],
>   static_list_keys?: any[],
>   tags?: any[]
> }
> ```

***

### getLeads

`powerdialer.getLeads`

List of Leads. Get a list of Leads, including searching for leads by filter, sql, and ai

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getLeads({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   count?: boolean,
>   keys_only?: boolean,
>   total?: boolean,
>   cursor?: string,
>   offset?: number | string,
>   limit?: number | string,
>   include_deleted?: boolean,
>   order?: string,
>   static_list_id?: string,
>   audience_id?: string,
>   csv_id?: string,
>   filters?: string,
>   search?: string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   addresses?: {
>     city?: string | any | null,
>     country?: string | any | null,
>     line1?: string | any | null,
>     line2?: string | any | null,
>     name?: string | any | null,
>     postal_code?: string | any | null,
>     region?: string | any | null
>   }[],
>   company_id: number | string,
>   contact_id?: string | any | null,
>   contact_type?: string | any | null,
>   csv_id?: string | any | null,
>   csv_line?: number | string | any | null,
>   custom?: {
>   },
>   date_created?: number | string,
>   date_created_iso?: string,
>   date_first_contacted?: number | string,
>   date_first_contacted_iso?: string,
>   date_last_contacted?: number | string,
>   date_last_contacted_iso?: string,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   department?: string | any | null,
>   emails?: {
>     domain?: string | any | null,
>     email: string,
>     label?: string | any | null
>   }[],
>   engagement_score?: number | string | any | null,
>   external_id?: string | any | null,
>   first_name?: string | any | null,
>   home_phone?: string | any | null,
>   id: string,
>   image_url?: string,
>   industry?: string | any | null,
>   job_title?: string | any | null,
>   key: string,
>   lang?: string | any | null,
>   last_medium?: string | any | null,
>   last_name?: string | any | null,
>   lead_company_id?: string | any | null,
>   lead_id: string,
>   lead_score?: number | string | any | null,
>   lead_source?: hubspot | csv | callback | api | salesforce | receptionist | string,
>   mobile_phone?: string | any | null,
>   name?: string,
>   owner_id?: string | any | null,
>   owner_type?: string | any | null,
>   phones?: {
>     country?: string | any | null,
>     display?: string | any | null,
>     label?: string | any | null,
>     number: string
>   }[],
>   preferred_medium?: string | any | null,
>   primary_address?: {
>   } | any | null,
>   primary_email?: string | any | null,
>   primary_phone?: string | any | null,
>   remote_id?: string | any | null,
>   role?: string | any | null,
>   secondary_email?: string | any | null,
>   secondary_phone?: string | any | null,
>   state?: pending | active | deleted | string,
>   tags?: any[],
>   timezone?: string | any | null
> }[]
> ```

***

### getListItems

`powerdialer.getListItems`

List of LeadListItem. List of LeadListItem belonging to a Campaign

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getListItems({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   count?: boolean,
>   keys_only?: boolean,
>   total?: boolean,
>   cursor?: string,
>   offset?: number | string,
>   limit?: number | string,
>   tag?: string,
>   list_id?: string,
>   campaign_id?: string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   call_id?: string,
>   call_key?: string,
>   campaign_id?: string | any | null,
>   company_id: number | string,
>   contact_id?: string,
>   contact_key?: string,
>   csv?: {
>   },
>   current_rule_id?: string,
>   current_rule_key?: string,
>   date_created?: number | string,
>   date_created_iso?: string,
>   date_estimate?: number | string,
>   date_estimate_iso?: string,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   history?: {
>     call_attempts?: number | string,
>     last_call_id?: number | string | any | null,
>     last_categories?: (call:powerdialer_no_available_agent | call:human_agent | call:ai_agent | call:outbound_connected | call:powerdialer_vm_drop | call:machine_detected | call:powerdialer_call | call:active | call:outbound | call:cancelled | call:inbound | call:missed | call:abandoned | call:user_initiated | string | sms:accepted | sms:invalid_destination | sms:invalid_source | sms:no_route | sms:rejected_spam | sms:internal_error | sms:rejected | sms:not_supported | sms:time_out | sms:error | sms:unknown | sms:forbidden | sms:owner_no_international_messaging | sms:unregistered_a2p_not_allowed | sms:owner_not_enough_sms_credits | sms:owner_not_enough_credits | sms:messaging_disabled | sms:owner_free_user | sms:contact_missing_number | sms:contact_is_room | sms:contact_is_shared_line | sms:staff_contact | sms:company_affinity | sms:not_in_free_company | sms:invalid_number | string | call:max_attempts_item | call:max_attempts_delay_not_met | call:max_attempts_criteria_not_met | call:max_attempts_campaign_phone_total | call:max_attempts_campaign_phone_daily | call:max_attempts_campaign_phone_rolling | call:max_attempts_campaign_contact_total | call:max_attempts_campaign_contact_daily | call:max_attempts_campaign_contact_rolling | call:max_attempts_campaign_company_total | call:max_attempts_campaign_company_daily | call:max_attempts_campaign_company_rolling | call:max_attempts_global_phone_daily | call:max_attempts_global_phone_rolling | call:max_attempts_global_contact_daily | call:max_attempts_global_contact_rolling | call:max_attempts_global_company_daily | call:max_attempts_global_company_rolling | string | string)[] | any | null,
>     last_error_id?: string | any | null,
>     rules?: Record<string, {
>       attempts?: Record<string, any>,
>       rule_type?: string
>     }>
>   },
>   id: string,
>   index?: number,
>   item_id: string,
>   key: string,
>   lead_id?: string,
>   lead_key?: string,
>   list_id: string,
>   result_code?: call:powerdialer_no_available_agent | call:human_agent | call:ai_agent | call:outbound_connected | call:powerdialer_vm_drop | call:machine_detected | call:powerdialer_call | call:active | call:outbound | call:cancelled | call:inbound | call:missed | call:abandoned | call:user_initiated | call:max_attempts_item | call:max_attempts_delay_not_met | call:max_attempts_criteria_not_met | call:max_attempts_campaign_phone_total | call:max_attempts_campaign_phone_daily | call:max_attempts_campaign_phone_rolling | call:max_attempts_campaign_contact_total | call:max_attempts_campaign_contact_daily | call:max_attempts_campaign_contact_rolling | call:max_attempts_campaign_company_total | call:max_attempts_campaign_company_daily | call:max_attempts_campaign_company_rolling | call:max_attempts_global_phone_daily | call:max_attempts_global_phone_rolling | call:max_attempts_global_contact_daily | call:max_attempts_global_contact_rolling | call:max_attempts_global_company_daily | call:max_attempts_global_company_rolling | call:dnc | call:timegate_failed | call:fdcpa_max_attempted | call:fdcpa_max_connected | call:no_consent | call:skipped | sms:dnt | sms:timegate_failed | sms:no_consent | sms:skipped | sms:accepted | sms:invalid_destination | sms:invalid_source | sms:no_route | sms:rejected_spam | sms:internal_error | sms:rejected | sms:not_supported | sms:time_out | sms:error | sms:unknown | sms:forbidden | sms:owner_no_international_messaging | sms:unregistered_a2p_not_allowed | sms:owner_not_enough_sms_credits | sms:owner_not_enough_credits | sms:messaging_disabled | sms:owner_free_user | sms:contact_missing_number | sms:contact_is_room | sms:contact_is_shared_line | sms:staff_contact | sms:company_affinity | sms:not_in_free_company | sms:invalid_number | string,
>   sms_id?: string,
>   sms_key?: string,
>   state?: pending | launching | scheduled | active | paused | complete | error | deleted | cancelled | incomplete | string,
>   status?: Upcoming | In Progress | Rescheduled | Complete | Error | Excluded | Incomplete | string,
>   tags?: any[]
> }[]
> ```

***

### getListList

`powerdialer.getListList`

Get a LeadList. Get a LeadList

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getListList({ path: {"list_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   list_id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `audience_ids` | `any[]` | No | — |
| `audience_keys` | `any[]` | No | — |
| `author_dp_key` | `string \| any \| null` | No | — |
| `author_id` | `string` | No | — |
| `author_key` | `string` | No | — |
| `company_id` | `number \| string` | Yes | — |
| `csv_columns` | `any[]` | No | — |
| `csv_ids` | `any[]` | No | — |
| `csv_keys` | `any[]` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `date_user_modified` | `number \| string` | No | — |
| `date_user_modified_iso` | `string` | No | — |
| `id` | `string` | Yes | — |
| `is_shared` | `boolean` | No | — |
| `key` | `string` | Yes | — |
| `last_author_dp_key` | `string \| any \| null` | No | — |
| `last_author_id_id` | `string` | No | — |
| `last_author_id_key` | `string` | No | — |
| `lead_order` | `any[]` | No | — |
| `list_id` | `string` | Yes | — |
| `name` | `string` | No | — |
| `num_csv_rows` | `number \| string` | No | — |
| `num_manual_rows` | `number \| string` | No | — |
| `num_query_rows` | `number \| string` | No | — |
| `num_rows` | `number \| string` | No | — |
| `num_snapshot_rows` | `number \| string` | No | — |
| `office_id` | `number \| string \| any \| null` | No | — |
| `salesforce_listview_id` | `string \| any \| null` | No | — |
| `sort_name` | `string \| any \| null` | No | — |
| `static_list_ids` | `any[]` | No | — |
| `static_list_keys` | `any[]` | No | — |
| `tags` | `any[]` | No | — |

***

### getListView

`powerdialer.getListView`

Get Combined List View. Get a combined list of Csv, Audience, and StaticList entities

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getListView({ query: {"types":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | Yes | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   count?: boolean,
>   keys_only?: boolean,
>   total?: boolean,
>   cursor?: string,
>   offset?: number | string,
>   limit?: number | string,
>   list_ids?: string,
>   campaign_counts?: boolean,
>   target_ids?: string,
>   tags?: string,
>   search?: string,
>   order?: string,
>   types: string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   active_campaigns: number | string | any | null,
>   all_campaigns: number | string | any | null,
>   audience: {
>     audience_id: string,
>     author_dp_key?: string | any | null,
>     author_id?: string,
>     author_key?: string,
>     company_id: number | string,
>     date_created?: number | string,
>     date_created_iso?: string,
>     date_modified?: number | string,
>     date_modified_iso?: string,
>     id: string,
>     key: string,
>     name?: string | any | null,
>     num_rows?: number | string,
>     query?: {
>       field: any,
>       op: any,
>       value?: any
>     } | {
>       combiner: any,
>       conditions: any
>     },
>     sort_name?: string | any | null,
>     state?: pending | active | deleted | string,
>     tags?: any[]
>   } | any | null,
>   csv: {
>     author_dp_key?: string | any | null,
>     author_id?: string,
>     author_key?: string,
>     columns?: any[],
>     company_id: number | string,
>     csv_id: string,
>     custom_mapping?: Record<string, string>,
>     date_created?: number | string,
>     date_created_iso?: string,
>     date_modified?: number | string,
>     date_modified_iso?: string,
>     download_url?: string,
>     file_type?: CSV | XLSX | string,
>     filename?: string,
>     gcs_filename?: string | any | null,
>     id: string,
>     import_results?: {
>       collisions?: number | string,
>       created?: number | string,
>       duplicates?: number | string,
>       failed_batches?: number | string,
>       skipped?: number | string,
>       total?: number | string,
>       updated?: number | string
>     },
>     key: string,
>     labels?: any[],
>     lead_mapping?: Record<string, do_not_import | first_name | last_name | job_title | industry | role | department | external_id | timezone | lang | primary_phone | secondary_phone | primary_email | secondary_email | address_name | address_line1 | address_line2 | city | region | postal_code | country | company_name | company_phone | company_address_line1 | company_address_line2 | company_city | company_region | company_postal_code | company_country | company_sic_code | company_naics_code | company_blacklisted | company_annual_revenue | company_currency | company_num_employees | primary_phone_fallback | string>,
>     name?: string,
>     num_rows?: number | string | any | null,
>     office_id?: number | string | any | null,
>     sort_name?: string | any | null,
>     state?: pending | launching | scheduled | active | paused | complete | error | deleted | cancelled | string,
>     strategy?: skip | merge | string,
>     tags?: any[]
>   } | any | null,
>   key: string,
>   paused_campaigns: number | string | any | null,
>   static_list: {
>     author_dp_key?: string | any | null,
>     author_id?: string,
>     author_key?: string,
>     company_id: number | string,
>     date_created?: number | string,
>     date_created_iso?: string,
>     date_modified?: number | string,
>     date_modified_iso?: string,
>     date_query?: number | string,
>     date_query_iso?: string,
>     id: string,
>     key: string,
>     last_query?: {
>       field: any,
>       op: any,
>       value?: any
>     } | {
>       combiner: any,
>       conditions: any
>     },
>     name?: string | any | null,
>     num_manual_rows?: number | string,
>     num_rows?: string | any | null,
>     num_snapshot_rows?: number | string,
>     sort_name?: string | any | null,
>     state?: active | importing | clearing | error | string,
>     static_list_id: string,
>     tags?: any[]
>   } | any | null
> }[]
> ```

***

### getLogin

`powerdialer.getLogin`

Initial endpoint to hit after oauth. Returns all initial values for user, company, config, etc

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getLogin({  });
```

**Input:** *empty object*

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company` | `object` | Yes | — |
| `config` | `any` | Yes | — |
| `user` | `object` | Yes | — |

> [accordion] company full type
>
> ```ts theme={null}
> {
>   account_type?: string | any | null,
>   call_center_sku?: string | any | null,
>   company_id: number | string,
>   country?: string | any | null,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   display_name?: string | any | null,
>   id: string,
>   key: string,
>   name?: string | any | null
> }
> ```

> [accordion] user full type
>
> ```ts theme={null}
> {
>   company_id?: number | string | any | null,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   duty_status_reason?: string | any | null,
>   emails?: any[],
>   group_details?: {
>   },
>   group_ids?: any[],
>   id: string,
>   image_url: string,
>   key: string,
>   max_wrap_up_seconds?: number | string | any | null,
>   name?: string | any | null,
>   office_id?: number | string | any | null,
>   on_duty_group_ids?: any[],
>   on_duty_status?: string | any | null,
>   phones?: any[],
>   ring_seconds?: number | string | any | null,
>   role?: string | any | null,
>   state?: string | any | null,
>   target_id: string,
>   target_type: user | room | callcenter | department | office | company | service_account | string,
>   timezone?: string | any | null
> }
> ```

***

### getModelsByKeys

`powerdialer.getModelsByKeys`

Bulk fetch entities by short keys. Bulk fetch entity short keys by comma-delimited url params

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getModelsByKeys({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   silent?: boolean,
>   keys?: string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
> }[]
> ```

***

### getModelsByKeysOfKind

`powerdialer.getModelsByKeysOfKind`

Bulk fetch entities of a single kind by short keys. Bulk fetch entities of a single kind by a list of ids or short keys

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getModelsByKeysOfKind({ path: {"kind":"sample-value"}, query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `query` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   kind: string
> }
> ```

> [accordion] query full type
>
> ```ts theme={null}
> {
>   ids?: string,
>   keys?: string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
> }[]
> ```

***

### getOperator

`powerdialer.getOperator`

Get Operator. Get a list of Operators

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getOperator({ query: {"target_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | Yes | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   target_id: string,
>   cached?: boolean
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   company_id?: number | string | any | null,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   duty_status_reason?: string | any | null,
>   emails?: any[],
>   group_details?: {
>   },
>   group_ids?: any[],
>   id: string,
>   image_url: string,
>   key: string,
>   max_wrap_up_seconds?: number | string | any | null,
>   name?: string | any | null,
>   office_id?: number | string | any | null,
>   on_duty_group_ids?: any[],
>   on_duty_status?: string | any | null,
>   phones?: any[],
>   ring_seconds?: number | string | any | null,
>   role?: string | any | null,
>   state?: string | any | null,
>   target_id: string,
>   target_type: user | room | callcenter | department | office | company | service_account | string,
>   timezone?: string | any | null
> }[]
> ```

***

### getPhone

`powerdialer.getPhone`

Get Phone. Get an individual Phone entity

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getPhone({ path: {"e164":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   e164: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `number \| string` | Yes | — |
| `consent` | `implied \| consent \| written_consent \| revoked \| string` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_dnc_expires` | `number \| string` | No | — |
| `date_dnc_expires_iso` | `string` | No | — |
| `date_dnc_opt_out` | `number \| string` | No | — |
| `date_dnc_opt_out_iso` | `string` | No | — |
| `date_dnt_expires` | `number \| string` | No | — |
| `date_dnt_expires_iso` | `string` | No | — |
| `date_dnt_opt_out` | `number \| string` | No | — |
| `date_dnt_opt_out_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `dnc` | `boolean \| any \| null` | No | — |
| `dnc_scope` | `powerdialer \| ever \| string` | No | — |
| `dnt` | `boolean \| any \| null` | No | — |
| `dnt_scope` | `powerdialer \| ever \| string` | No | — |
| `e164` | `string` | Yes | — |
| `formatted_phone` | `string \| any \| null` | No | — |
| `id` | `string` | Yes | — |
| `is_dnc_expired` | `boolean` | No | — |
| `is_dnt_expired` | `boolean` | No | — |
| `key` | `string` | Yes | — |
| `label` | `mobile \| work \| home \| other \| string` | No | — |
| `last_author_dp_key` | `string \| any \| null` | No | — |
| `last_author_id` | `string \| any \| null` | No | — |
| `last_csv_id` | `string \| any \| null` | No | — |
| `last_source` | `api \| csv \| dp_contact \| string` | No | — |
| `state` | `active \| deleted \| string` | No | — |
| `tags` | `any[]` | No | — |
| `timezone` | `string \| any \| null` | No | — |
| `validity` | `good \| unverified \| disconnected \| fax \| spam \| wrong_number \| string` | No | — |

***

### getPhoneCsv

`powerdialer.getPhoneCsv`

Get Phone CSV. Get an individual Phone CSV entity

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getPhoneCsv({ path: {"csv_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   csv_id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `author_dp_key` | `string \| any \| null` | No | — |
| `author_id` | `string` | No | — |
| `author_key` | `string` | No | — |
| `columns` | `any[]` | No | — |
| `company_id` | `number \| string` | Yes | — |
| `csv_id` | `string` | Yes | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `download_url` | `string` | No | — |
| `file_type` | `CSV \| XLSX \| string` | No | — |
| `filename` | `string` | No | — |
| `gcs_filename` | `string \| any \| null` | No | — |
| `id` | `string` | Yes | — |
| `import_results` | `object` | No | — |
| `key` | `string` | Yes | — |
| `labels` | `any[]` | No | — |
| `mapping` | `Record<string, e164 \| dnc \| dnc_scope \| dnc_expiration \| dnt \| dnt_scope \| dnt_expiration \| consent \| validity \| date_dnc_opt_out \| date_dnt_opt_out \| do_not_import \| string>` | No | — |
| `name` | `string` | No | — |
| `num_rows` | `number \| string \| any \| null` | No | — |
| `sort_name` | `string \| any \| null` | No | — |
| `state` | `pending \| launching \| scheduled \| active \| paused \| complete \| error \| deleted \| cancelled \| string` | No | — |
| `tags` | `any[]` | No | — |

> [accordion] import\_results full type
>
> ```ts theme={null}
> {
>   collisions?: number | string,
>   created?: number | string,
>   duplicates?: number | string,
>   failed_batches?: number | string,
>   skipped?: number | string,
>   total?: number | string,
>   updated?: number | string
> }
> ```

***

### getPhoneCsvs

`powerdialer.getPhoneCsvs`

Get List of Phone CSVs. Get a list of PhoneCsv entities

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getPhoneCsvs({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   count?: boolean,
>   keys_only?: boolean,
>   total?: boolean,
>   cursor?: string,
>   offset?: number | string,
>   limit?: number | string,
>   target_ids?: string,
>   tag?: pending | launching | scheduled | active | paused | complete | error | deleted | cancelled | all | visible | archived,
>   states?: string,
>   state?: pending | launching | scheduled | active | paused | complete | error | deleted | cancelled,
>   search?: string,
>   order?: string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   author_dp_key?: string | any | null,
>   author_id?: string,
>   author_key?: string,
>   columns?: any[],
>   company_id: number | string,
>   csv_id: string,
>   date_created?: number | string,
>   date_created_iso?: string,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   download_url?: string,
>   file_type?: CSV | XLSX | string,
>   filename?: string,
>   gcs_filename?: string | any | null,
>   id: string,
>   import_results?: {
>     collisions?: number | string,
>     created?: number | string,
>     duplicates?: number | string,
>     failed_batches?: number | string,
>     skipped?: number | string,
>     total?: number | string,
>     updated?: number | string
>   },
>   key: string,
>   labels?: any[],
>   mapping?: Record<string, e164 | dnc | dnc_scope | dnc_expiration | dnt | dnt_scope | dnt_expiration | consent | validity | date_dnc_opt_out | date_dnt_opt_out | do_not_import | string>,
>   name?: string,
>   num_rows?: number | string | any | null,
>   sort_name?: string | any | null,
>   state?: pending | launching | scheduled | active | paused | complete | error | deleted | cancelled | string,
>   tags?: any[]
> }[]
> ```

***

### getPhones

`powerdialer.getPhones`

List of Phones. Get a list of phone table for company DNC/DNT

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getPhones({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   count?: boolean,
>   keys_only?: boolean,
>   total?: boolean,
>   cursor?: string,
>   offset?: number | string,
>   limit?: number | string,
>   filters?: string,
>   search?: string,
>   order?: string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   company_id: number | string,
>   consent?: implied | consent | written_consent | revoked | string,
>   date_created?: number | string,
>   date_created_iso?: string,
>   date_dnc_expires?: number | string,
>   date_dnc_expires_iso?: string,
>   date_dnc_opt_out?: number | string,
>   date_dnc_opt_out_iso?: string,
>   date_dnt_expires?: number | string,
>   date_dnt_expires_iso?: string,
>   date_dnt_opt_out?: number | string,
>   date_dnt_opt_out_iso?: string,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   dnc?: boolean | any | null,
>   dnc_scope?: powerdialer | ever | string,
>   dnt?: boolean | any | null,
>   dnt_scope?: powerdialer | ever | string,
>   e164: string,
>   formatted_phone?: string | any | null,
>   id: string,
>   is_dnc_expired?: boolean,
>   is_dnt_expired?: boolean,
>   key: string,
>   label?: mobile | work | home | other | string,
>   last_author_dp_key?: string | any | null,
>   last_author_id?: string | any | null,
>   last_csv_id?: string | any | null,
>   last_source?: api | csv | dp_contact | string,
>   state?: active | deleted | string,
>   tags?: any[],
>   timezone?: string | any | null,
>   validity?: good | unverified | disconnected | fax | spam | wrong_number | string
> }[]
> ```

***

### getRule

`powerdialer.getRule`

Get Rule. Get a Rule

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getRule({ path: {"rule_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   rule_id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `number \| string` | Yes | — |
| `conditions` | `object[]` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `flow_ids` | `any[]` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `parent_id` | `string` | No | — |
| `parent_key` | `string` | No | — |
| `rule_id` | `string` | Yes | — |
| `settings` | `object` | No | — |
| `type` | `call \| sms \| string` | Yes | — |

> [accordion] conditions full type
>
> ```ts theme={null}
> {
>   action: complete | next | retry | flow | drop_vm | string,
>   config?: {
>     custom_ivr_details_id?: any,
>     delay?: any,
>     flow_id?: any,
>     max_attempts?: any
>   },
>   states?: (call:powerdialer_no_available_agent | call:human_agent | call:ai_agent | call:outbound_connected | call:powerdialer_vm_drop | call:machine_detected | call:powerdialer_call | call:active | call:outbound | call:cancelled | call:inbound | call:missed | call:abandoned | call:user_initiated | string | sms:accepted | sms:invalid_destination | sms:invalid_source | sms:no_route | sms:rejected_spam | sms:internal_error | sms:rejected | sms:not_supported | sms:time_out | sms:error | sms:unknown | sms:forbidden | sms:owner_no_international_messaging | sms:unregistered_a2p_not_allowed | sms:owner_not_enough_sms_credits | sms:owner_not_enough_credits | sms:messaging_disabled | sms:owner_free_user | sms:contact_missing_number | sms:contact_is_room | sms:contact_is_shared_line | sms:staff_contact | sms:company_affinity | sms:not_in_free_company | sms:invalid_number | string)[]
> }[]
> ```

> [accordion] settings full type
>
> ```ts theme={null}
> {
>   phone_field?: string,
>   text: string
> } | {
>   ai_agent_settings?: {
>     agent_id?: any,
>     provider_name?: any
>   },
>   phone_field?: string
> }
> ```

***

### getRules

`powerdialer.getRules`

List of rules for a campaign. List of rules belonging to a campaign with campaign id

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getRules({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   count?: boolean,
>   keys_only?: boolean,
>   total?: boolean,
>   cursor?: string,
>   offset?: number | string,
>   limit?: number | string,
>   flow_id?: string,
>   campaign_id?: string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   company_id: number | string,
>   conditions?: {
>     action: complete | next | retry | flow | drop_vm | string,
>     config?: {
>       custom_ivr_details_id?: any,
>       delay?: any,
>       flow_id?: any,
>       max_attempts?: any
>     },
>     states?: (call:powerdialer_no_available_agent | call:human_agent | call:ai_agent | call:outbound_connected | call:powerdialer_vm_drop | call:machine_detected | call:powerdialer_call | call:active | call:outbound | call:cancelled | call:inbound | call:missed | call:abandoned | call:user_initiated | string | sms:accepted | sms:invalid_destination | sms:invalid_source | sms:no_route | sms:rejected_spam | sms:internal_error | sms:rejected | sms:not_supported | sms:time_out | sms:error | sms:unknown | sms:forbidden | sms:owner_no_international_messaging | sms:unregistered_a2p_not_allowed | sms:owner_not_enough_sms_credits | sms:owner_not_enough_credits | sms:messaging_disabled | sms:owner_free_user | sms:contact_missing_number | sms:contact_is_room | sms:contact_is_shared_line | sms:staff_contact | sms:company_affinity | sms:not_in_free_company | sms:invalid_number | string)[]
>   }[],
>   date_created?: number | string,
>   date_created_iso?: string,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   flow_ids?: any[],
>   id: string,
>   key: string,
>   parent_id?: string,
>   parent_key?: string,
>   rule_id: string,
>   settings?: {
>     phone_field?: string,
>     text: string
>   } | {
>     ai_agent_settings?: {
>       agent_id?: any,
>       provider_name?: any
>     },
>     phone_field?: string
>   },
>   type: call | sms | string
> }[]
> ```

***

### getSalesforceListViewById

`powerdialer.getSalesforceListViewById`

Get Salesforce List View by ID. Retrieve a specific list view from Dialbunny database

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getSalesforceListViewById({ path: {"sfdc_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   sfdc_id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `number \| string` | Yes | — |
| `count` | `number \| string \| any \| null` | No | — |
| `creator_name` | `string \| any \| null` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `date_updated_count` | `number \| string` | No | — |
| `date_updated_count_iso` | `string` | No | — |
| `developer_name` | `string \| any \| null` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `listview_id` | `string` | Yes | — |
| `name` | `string` | Yes | — |
| `order_by` | `string \| any \| null` | No | — |
| `query` | `string \| any \| null` | No | — |
| `sobject_type` | `Lead \| Contact \| Opportunity \| Account \| string` | Yes | — |
| `where_clause` | `string \| any \| null` | No | — |

***

### getSalesforceListViewImport

`powerdialer.getSalesforceListViewImport`

Get Salesforce ListView Import. Get a Salesforce ListView Import record by ID

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getSalesforceListViewImport({ path: {"import_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   import_id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `author_dp_key` | `string \| any \| null` | No | — |
| `author_id` | `string` | No | — |
| `author_key` | `string` | No | — |
| `campaign_id` | `string \| any \| null` | No | — |
| `company_id` | `number \| string` | Yes | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `id` | `string` | Yes | — |
| `import_id` | `string` | Yes | — |
| `import_results` | `object` | No | — |
| `key` | `string` | Yes | — |
| `listview_id` | `string \| any \| null` | No | — |
| `object_mapping_id` | `string \| any \| null` | No | — |
| `sobject_type` | `Lead \| Contact \| Opportunity \| Account \| string` | No | — |
| `state` | `pending \| active \| complete \| error \| string` | No | — |
| `strategy` | `skip \| merge \| string` | No | — |

> [accordion] import\_results full type
>
> ```ts theme={null}
> {
>   collisions?: number | string,
>   created?: number | string,
>   duplicates?: number | string,
>   failed_batches?: number | string,
>   skipped?: number | string,
>   total?: number | string,
>   updated?: number | string
> }
> ```

***

### getSalesforceListViewImports

`powerdialer.getSalesforceListViewImports`

List Salesforce ListView Imports. Get all Salesforce ListView Import records for a campaign

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getSalesforceListViewImports({ query: {"campaign_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | Yes | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   campaign_id: string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   author_dp_key?: string | any | null,
>   author_id?: string,
>   author_key?: string,
>   campaign_id?: string | any | null,
>   company_id: number | string,
>   date_created?: number | string,
>   date_created_iso?: string,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   id: string,
>   import_id: string,
>   import_results?: {
>     collisions?: number | string,
>     created?: number | string,
>     duplicates?: number | string,
>     failed_batches?: number | string,
>     skipped?: number | string,
>     total?: number | string,
>     updated?: number | string
>   },
>   key: string,
>   listview_id?: string | any | null,
>   object_mapping_id?: string | any | null,
>   sobject_type?: Lead | Contact | Opportunity | Account | string,
>   state?: pending | active | complete | error | string,
>   strategy?: skip | merge | string
> }[]
> ```

***

### getSalesforceObjectFields

`powerdialer.getSalesforceObjectFields`

Get Object Fields from Salesforce. Fetch field metadata for a Salesforce object via sObject Describe API

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getSalesforceObjectFields({ query: {"sobject_type":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | Yes | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   sobject_type: string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   label: string,
>   name: string,
>   type: string
> }[]
> ```

***

### getSalesforceObjectListViews

`powerdialer.getSalesforceObjectListViews`

Get List Views from Salesforce. Fetch list views from Salesforce

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getSalesforceObjectListViews({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   limit?: number | string,
>   offset?: number | string,
>   sobject_types?: string,
>   search?: string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   creator_name?: string | any | null,
>   date_created: string,
>   date_modified: string,
>   developer_name: string,
>   name: string,
>   sfdc_id: string,
>   sobject_type: string
> }[]
> ```

***

### getSalesforceObjectMapping

`powerdialer.getSalesforceObjectMapping`

Get Salesforce Object Mapping. Get a specific Salesforce object mapping by ID

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getSalesforceObjectMapping({ path: {"object_mapping_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   object_mapping_id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `campaign_id` | `string \| any \| null` | No | — |
| `company_id` | `number \| string` | Yes | — |
| `custom_mapping` | `Record<string, string>` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `lead_mapping` | `Record<string, do_not_import \| first_name \| last_name \| job_title \| industry \| role \| department \| external_id \| timezone \| lang \| primary_phone \| secondary_phone \| primary_email \| secondary_email \| address_name \| address_line1 \| address_line2 \| city \| region \| postal_code \| country \| company_name \| company_phone \| company_address_line1 \| company_address_line2 \| company_city \| company_region \| company_postal_code \| company_country \| company_sic_code \| company_naics_code \| company_blacklisted \| company_annual_revenue \| company_currency \| company_num_employees \| primary_phone_fallback \| string>` | No | — |
| `object_mapping_id` | `string` | Yes | — |
| `sobject_type` | `string \| any \| null` | No | — |
| `tags` | `any[]` | No | — |

***

### getSalesforceObjectMappings

`powerdialer.getSalesforceObjectMappings`

List Salesforce Object Mappings. Get all Salesforce object mappings for the company, optionally filtered by campaign or sobject type

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getSalesforceObjectMappings({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   count?: boolean,
>   keys_only?: boolean,
>   total?: boolean,
>   cursor?: string,
>   offset?: number | string,
>   limit?: number | string,
>   campaign_id?: string,
>   scope?: string,
>   sobject_type?: string,
>   order?: string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   campaign_id?: string | any | null,
>   company_id: number | string,
>   custom_mapping?: Record<string, string>,
>   date_created?: number | string,
>   date_created_iso?: string,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   id: string,
>   key: string,
>   lead_mapping?: Record<string, do_not_import | first_name | last_name | job_title | industry | role | department | external_id | timezone | lang | primary_phone | secondary_phone | primary_email | secondary_email | address_name | address_line1 | address_line2 | city | region | postal_code | country | company_name | company_phone | company_address_line1 | company_address_line2 | company_city | company_region | company_postal_code | company_country | company_sic_code | company_naics_code | company_blacklisted | company_annual_revenue | company_currency | company_num_employees | primary_phone_fallback | string>,
>   object_mapping_id: string,
>   sobject_type?: string | any | null,
>   tags?: any[]
> }[]
> ```

***

### getServiceAccount

`powerdialer.getServiceAccount`

Get Service Account. Get a single service account by id

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getServiceAccount({ path: {"account_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   account_id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `string` | No | — |
| `company_key` | `string` | No | — |
| `csr_permissions` | `any[]` | No | — |
| `csr_roles` | `any[]` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `dialpad_user_id` | `number \| string \| any \| null` | No | — |
| `experiments` | `any[]` | No | — |
| `id` | `string` | Yes | — |
| `is_company_admin` | `boolean` | No | — |
| `is_default` | `boolean` | No | — |
| `key` | `string` | Yes | — |
| `name` | `string` | Yes | — |
| `office_id` | `number \| string \| any \| null` | No | — |
| `role` | `admin \| read_only \| string` | No | — |
| `roles` | `any[]` | No | — |
| `target_key` | `string` | No | — |
| `user_id` | `string` | No | — |
| `user_key` | `string` | No | — |

***

### getServiceAccounts

`powerdialer.getServiceAccounts`

List Service Accounts. Get the company's service accounts - non-human principals that api keys can be issued for and that author the entities they create

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getServiceAccounts({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   count?: boolean,
>   keys_only?: boolean,
>   total?: boolean,
>   cursor?: string,
>   offset?: number | string,
>   limit?: number | string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   company_id?: string,
>   company_key?: string,
>   csr_permissions?: any[],
>   csr_roles?: any[],
>   date_created?: number | string,
>   date_created_iso?: string,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   dialpad_user_id?: number | string | any | null,
>   experiments?: any[],
>   id: string,
>   is_company_admin?: boolean,
>   is_default?: boolean,
>   key: string,
>   name: string,
>   office_id?: number | string | any | null,
>   role?: admin | read_only | string,
>   roles?: any[],
>   target_key?: string,
>   user_id?: string,
>   user_key?: string
> }[]
> ```

***

### getSmsForTarget

`powerdialer.getSmsForTarget`

Get Sms List for a Target. DEBUG: Get a list of recent sms given a Target

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getSmsForTarget({ query: {"target_type":"sample-value","target_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | Yes | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   count?: boolean,
>   keys_only?: boolean,
>   total?: boolean,
>   cursor?: string,
>   offset?: number | string,
>   limit?: number | string,
>   target_type: string,
>   target_id: string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   contact_id?: string,
>   contact_key?: string,
>   date_created?: number | string | any | null,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   delivery_status?: accepted | invalid_destination | invalid_source | no_route | rejected_spam | rejected | internal_error | not_supported | unknown | string,
>   direction: inbound | outbound | string,
>   from_number?: string | any | null,
>   id: string,
>   key: string,
>   mms?: boolean | any | null,
>   sender_id?: string | any | null,
>   sms_id: number | string,
>   target_id?: string,
>   target_key?: string,
>   text?: string | any | null,
>   to_number?: any[]
> }[]
> ```

***

### getStaticList

`powerdialer.getStaticList`

Get Static List. Get a single Static List by id

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getStaticList({ path: {"static_list_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   static_list_id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `author_dp_key` | `string \| any \| null` | No | — |
| `author_id` | `string` | No | — |
| `author_key` | `string` | No | — |
| `company_id` | `number \| string` | Yes | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `date_query` | `number \| string` | No | — |
| `date_query_iso` | `string` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `last_query` | `object \| < \| >= \| <= \| ^= \| $= \| !! \| ~~ \| string, value?: string \| number \| string \| any \| null }` | No | — |
| `name` | `string \| any \| null` | No | — |
| `num_manual_rows` | `number \| string` | No | — |
| `num_rows` | `string \| any \| null` | No | — |
| `num_snapshot_rows` | `number \| string` | No | — |
| `sort_name` | `string \| any \| null` | No | — |
| `state` | `active \| importing \| clearing \| error \| string` | No | — |
| `static_list_id` | `string` | Yes | — |
| `tags` | `any[]` | No | — |

> [accordion] last\_query full type
>
> ```ts theme={null}
> {
>   field: string,
>   op: = | ~= | != |
> > | < |>= | <= | ^= | $= | !! | ~~ | string, value?: string | number | string | any | null} | {
>   combiner: AND | OR | string,
>   conditions: (any | any)[]
> }
> ```

***

### getStaticLists

`powerdialer.getStaticLists`

Get Static Lists. Get a list of Static Lists

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getStaticLists({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   count?: boolean,
>   keys_only?: boolean,
>   total?: boolean,
>   cursor?: string,
>   offset?: number | string,
>   limit?: number | string,
>   target_ids?: string,
>   state?: pending | active | deleted,
>   search?: string,
>   order?: string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   author_dp_key?: string | any | null,
>   author_id?: string,
>   author_key?: string,
>   company_id: number | string,
>   date_created?: number | string,
>   date_created_iso?: string,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   date_query?: number | string,
>   date_query_iso?: string,
>   id: string,
>   key: string,
>   last_query?: {
>     field: string,
>     op: = | ~= | != |
>   > | < |>= | <= | ^= | $= | !! | ~~ | string, value?: string | number | string | any | null} | {
>     combiner: AND | OR | string,
>     conditions: (any | any)[]
>   },
>   name?: string | any | null,
>   num_manual_rows?: number | string,
>   num_rows?: string | any | null,
>   num_snapshot_rows?: number | string,
>   sort_name?: string | any | null,
>   state?: active | importing | clearing | error | string,
>   static_list_id: string,
>   tags?: any[]
> }[]
> ```

***

### getVarsInfo

`powerdialer.getVarsInfo`

Get auto-complete variable info. Auto-complete variable info belonging to a campaign with campaign id

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getVarsInfo({ path: {"campaign_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   campaign_id: string
> }
> ```

**Output:** `any`

***

### getWorker

`powerdialer.getWorker`

Get a Worker. Get a Worker

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getWorker({ path: {"worker_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   worker_id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `campaign_id` | `string` | Yes | — |
| `company_id` | `number \| string` | Yes | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_expiration` | `number \| string` | No | — |
| `date_expiration_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `id` | `string` | Yes | — |
| `is_temporary` | `boolean` | No | — |
| `item_id` | `string \| any \| null` | No | — |
| `item_key` | `string` | No | — |
| `key` | `string` | Yes | — |
| `state` | `string` | No | — |
| `tags` | `any[]` | No | — |
| `worker_id` | `string` | Yes | — |

***

### getWorkers

`powerdialer.getWorkers`

Get Workers. Get a list of Workers for a Campaign

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.powerdialer.getWorkers({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   campaign_id?: string,
>   tags?: string
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   campaign_id: string,
>   company_id: number | string,
>   date_created?: number | string,
>   date_created_iso?: string,
>   date_expiration?: number | string,
>   date_expiration_iso?: string,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   id: string,
>   is_temporary?: boolean,
>   item_id?: string | any | null,
>   item_key?: string,
>   key: string,
>   state?: string,
>   tags?: any[],
>   worker_id: string
> }[]
> ```

***

### patchSalesforceListView

`powerdialer.patchSalesforceListView`

Update Salesforce List View. Perform actions on a Salesforce list view (e.g. refresh\_count)

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.patchSalesforceListView({ path: {"sfdc_id":"sample-value"}, query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `query` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   sfdc_id: string
> }
> ```

> [accordion] query full type
>
> ```ts theme={null}
> {
>   action?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `number \| string` | Yes | — |
| `count` | `number \| string \| any \| null` | No | — |
| `creator_name` | `string \| any \| null` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `date_updated_count` | `number \| string` | No | — |
| `date_updated_count_iso` | `string` | No | — |
| `developer_name` | `string \| any \| null` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `listview_id` | `string` | Yes | — |
| `name` | `string` | Yes | — |
| `order_by` | `string \| any \| null` | No | — |
| `query` | `string \| any \| null` | No | — |
| `sobject_type` | `Lead \| Contact \| Opportunity \| Account \| string` | Yes | — |
| `where_clause` | `string \| any \| null` | No | — |

***

### postLogin

`powerdialer.postLogin`

Login with a Dialpad access token. Establishes a browser session from a Dialpad access token bearer: sets the session cookie and returns the login json (Dialpad's raw payload with raw=1)

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.postLogin({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   raw?: boolean
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company` | `object` | Yes | — |
| `config` | `any` | Yes | — |
| `user` | `object` | Yes | — |

> [accordion] company full type
>
> ```ts theme={null}
> {
>   account_type?: string | any | null,
>   call_center_sku?: string | any | null,
>   company_id: number | string,
>   country?: string | any | null,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   display_name?: string | any | null,
>   id: string,
>   key: string,
>   name?: string | any | null
> }
> ```

> [accordion] user full type
>
> ```ts theme={null}
> {
>   company_id?: number | string | any | null,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   duty_status_reason?: string | any | null,
>   emails?: any[],
>   group_details?: {
>   },
>   group_ids?: any[],
>   id: string,
>   image_url: string,
>   key: string,
>   max_wrap_up_seconds?: number | string | any | null,
>   name?: string | any | null,
>   office_id?: number | string | any | null,
>   on_duty_group_ids?: any[],
>   on_duty_status?: string | any | null,
>   phones?: any[],
>   ring_seconds?: number | string | any | null,
>   role?: string | any | null,
>   state?: string | any | null,
>   target_id: string,
>   target_type: user | room | callcenter | department | office | company | service_account | string,
>   timezone?: string | any | null
> }
> ```

***

### queryLeads

`powerdialer.queryLeads`

List of Leads by Query. Get a list of Leads based on complex Queries

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.queryLeads({ query: {}, body: {"field":"sample-value","op":"="} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |
| `body` | `object \| < \| >= \| <= \| ^= \| $= \| !! \| ~~, value?: string \| number \| string \| any \| null } \| any \| null` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   count?: boolean,
>   keys_only?: boolean,
>   total?: boolean,
>   cursor?: string,
>   offset?: number | string,
>   limit?: number | string,
>   source?: string,
>   include_deleted?: boolean,
>   order?: string,
>   list_id?: string,
>   static_list_id?: string,
>   audience_id?: string,
>   csv_id?: string,
>   filters?: string,
>   search?: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   field: string,
>   op: = | ~= | != |
> > | < |>= | <= | ^= | $= | !! | ~~, value?: string | number | string | any | null} | {
>   combiner: AND | OR,
>   conditions: (
>     {
>       field: string,
>       op: = | ~= | != |
>     > | < |>= | <= | ^= | $= | !! | ~~, value?: string | number | string | any | null} | any
>   )[]
> } | any | null
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   lead: {
>     addresses?: {
>       city?: any | any,
>       country?: any | any,
>       line1?: any | any,
>       line2?: any | any,
>       name?: any | any,
>       postal_code?: any | any,
>       region?: any | any
>     }[],
>     company_id: number | string,
>     contact_id?: string | any | null,
>     contact_type?: string | any | null,
>     csv_id?: string | any | null,
>     csv_line?: number | string | any | null,
>     custom?: {
>     },
>     date_created?: number | string,
>     date_created_iso?: string,
>     date_first_contacted?: number | string,
>     date_first_contacted_iso?: string,
>     date_last_contacted?: number | string,
>     date_last_contacted_iso?: string,
>     date_modified?: number | string,
>     date_modified_iso?: string,
>     department?: string | any | null,
>     emails?: {
>       domain?: any | any,
>       email: string,
>       label?: any | any
>     }[],
>     engagement_score?: number | string | any | null,
>     external_id?: string | any | null,
>     first_name?: string | any | null,
>     home_phone?: string | any | null,
>     id: string,
>     image_url?: string,
>     industry?: string | any | null,
>     job_title?: string | any | null,
>     key: string,
>     lang?: string | any | null,
>     last_medium?: string | any | null,
>     last_name?: string | any | null,
>     lead_company_id?: string | any | null,
>     lead_id: string,
>     lead_score?: number | string | any | null,
>     lead_source?: hubspot | csv | callback | api | salesforce | receptionist | string,
>     mobile_phone?: string | any | null,
>     name?: string,
>     owner_id?: string | any | null,
>     owner_type?: string | any | null,
>     phones?: {
>       country?: any | any,
>       display?: any | any,
>       label?: any | any,
>       number: string
>     }[],
>     preferred_medium?: string | any | null,
>     primary_address?: {
>     } | any | null,
>     primary_email?: string | any | null,
>     primary_phone?: string | any | null,
>     remote_id?: string | any | null,
>     role?: string | any | null,
>     secondary_email?: string | any | null,
>     secondary_phone?: string | any | null,
>     state?: pending | active | deleted | string,
>     tags?: any[],
>     timezone?: string | any | null
>   },
>   lead_company: {
>     address?: {
>       city?: string | any | null,
>       country?: string | any | null,
>       line1?: string | any | null,
>       line2?: string | any | null,
>       name?: string | any | null,
>       postal_code?: string | any | null,
>       region?: string | any | null
>     },
>     annual_revenue?: number | string | any | null,
>     blacklisted?: boolean | any | null,
>     company_id: number | string,
>     currency?: string | any | null,
>     date_created?: number | string,
>     date_created_iso?: string,
>     date_modified?: number | string,
>     date_modified_iso?: string,
>     id: string,
>     key: string,
>     lead_company_id: string,
>     naics_code?: number | string | any | null,
>     name?: string | any | null,
>     num_employees?: number | string | any | null,
>     phone?: string | any | null,
>     sanitized_name?: string | any | null,
>     sic_code?: number | string | any | null
>   } | any | null,
>   lead_id: string,
>   source: string | any | null,
>   static_list: {
>     company_id: number | string,
>     date_created?: number | string,
>     date_created_iso?: string,
>     date_modified?: number | string,
>     date_modified_iso?: string,
>     id: string,
>     key: string,
>     lead_id: string,
>     source?: manual | snapshot | string,
>     static_list_id: string
>   } | any | null,
>   static_list_id: string | any | null
> }[]
> ```

***

### searchCampaigns

`powerdialer.searchCampaigns`

Search Campaigns with POST. POST version of /api/campaign - supports large lists and date range filtering

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.searchCampaigns({ body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   audience_ids?: string[] | any | null,
>   csv_ids?: string[] | any | null,
>   date_created_from?: string | any | null,
>   date_created_to?: string | any | null,
>   date_modified_from?: string | any | null,
>   date_modified_to?: string | any | null,
>   list_ids?: string[] | any | null,
>   order?: string[] | any | null,
>   search?: string | any | null,
>   state?: string | any | null,
>   states?: string[] | any | null,
>   static_list_ids?: string[] | any | null,
>   target_ids?: string[] | any | null
> }
> ```

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   author_dp_key?: string | any | null,
>   author_id?: string,
>   author_key?: string,
>   caller_id?: string | any | null,
>   campaign_group_id?: string,
>   campaign_group_key?: string,
>   campaign_group_order?: number | string | any | null,
>   campaign_id: string,
>   company_id: number | string,
>   date_archived?: number | string,
>   date_archived_iso?: string,
>   date_audience_computed?: number | string,
>   date_audience_computed_iso?: string,
>   date_computed?: number | string,
>   date_computed_iso?: string,
>   date_created?: number | string,
>   date_created_iso?: string,
>   date_ended?: number | string,
>   date_ended_iso?: string,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   date_paused?: number | string,
>   date_paused_iso?: string,
>   date_scheduled_end?: number | string,
>   date_scheduled_end_iso?: string,
>   date_scheduled_start?: number | string,
>   date_scheduled_start_iso?: string,
>   date_started?: number | string,
>   date_started_iso?: string,
>   description?: string,
>   event_logs_gcs_filename?: string,
>   flow_id?: string,
>   flow_key?: string,
>   gcs_filename?: string,
>   group_id?: number | string,
>   id: string,
>   is_dynamic?: boolean,
>   key: string,
>   lead_list_id?: string,
>   lead_list_key?: string,
>   name?: string,
>   num_items?: number | string,
>   num_pending?: number | string,
>   office_id?: number | string | any | null,
>   priority?: number | string | any | null,
>   progress?: number | any | null,
>   queries?: (
>     {
>       field: string,
>       op: = | ~= | != |
>     > | < |>= | <= | ^= | $= | !! | ~~ | string, value?: any | any | any} | {
>       combiner: AND | OR | string,
>       conditions: any[]
>     }
>   )[],
>   settings_id?: string,
>   settings_key?: string,
>   shared_list_id?: string,
>   shared_list_key?: string,
>   sort_name?: string | any | null,
>   source_list_ids?: any[],
>   state?: pending | launching | scheduled | active | paused | complete | error | deleted | cancelled | string,
>   strategy?: progressive | predictive | preview | ai_progressive | ai_predictive | string,
>   tags?: any[],
>   target_id?: string,
>   target_key?: string
> }[]
> ```

***

### smsItem

`powerdialer.smsItem`

Send SMS. DEBUG: Send a text message through dialpad for a given LeadListItem

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.powerdialer.smsItem({ body: {"item_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | Yes | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   fake?: any,
>   item_id: string,
>   text?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `call_id` | `string` | No | — |
| `call_key` | `string` | No | — |
| `campaign_id` | `string \| any \| null` | No | — |
| `company_id` | `number \| string` | Yes | — |
| `contact_id` | `string` | No | — |
| `contact_key` | `string` | No | — |
| `csv` | `object` | No | — |
| `current_rule_id` | `string` | No | — |
| `current_rule_key` | `string` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_estimate` | `number \| string` | No | — |
| `date_estimate_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `history` | `object` | No | — |
| `id` | `string` | Yes | — |
| `index` | `number` | No | — |
| `item_id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `lead_id` | `string` | No | — |
| `lead_key` | `string` | No | — |
| `list_id` | `string` | Yes | — |
| `result_code` | `call:powerdialer_no_available_agent \| call:human_agent \| call:ai_agent \| call:outbound_connected \| call:powerdialer_vm_drop \| call:machine_detected \| call:powerdialer_call \| call:active \| call:outbound \| call:cancelled \| call:inbound \| call:missed \| call:abandoned \| call:user_initiated \| call:max_attempts_item \| call:max_attempts_delay_not_met \| call:max_attempts_criteria_not_met \| call:max_attempts_campaign_phone_total \| call:max_attempts_campaign_phone_daily \| call:max_attempts_campaign_phone_rolling \| call:max_attempts_campaign_contact_total \| call:max_attempts_campaign_contact_daily \| call:max_attempts_campaign_contact_rolling \| call:max_attempts_campaign_company_total \| call:max_attempts_campaign_company_daily \| call:max_attempts_campaign_company_rolling \| call:max_attempts_global_phone_daily \| call:max_attempts_global_phone_rolling \| call:max_attempts_global_contact_daily \| call:max_attempts_global_contact_rolling \| call:max_attempts_global_company_daily \| call:max_attempts_global_company_rolling \| call:dnc \| call:timegate_failed \| call:fdcpa_max_attempted \| call:fdcpa_max_connected \| call:no_consent \| call:skipped \| sms:dnt \| sms:timegate_failed \| sms:no_consent \| sms:skipped \| sms:accepted \| sms:invalid_destination \| sms:invalid_source \| sms:no_route \| sms:rejected_spam \| sms:internal_error \| sms:rejected \| sms:not_supported \| sms:time_out \| sms:error \| sms:unknown \| sms:forbidden \| sms:owner_no_international_messaging \| sms:unregistered_a2p_not_allowed \| sms:owner_not_enough_sms_credits \| sms:owner_not_enough_credits \| sms:messaging_disabled \| sms:owner_free_user \| sms:contact_missing_number \| sms:contact_is_room \| sms:contact_is_shared_line \| sms:staff_contact \| sms:company_affinity \| sms:not_in_free_company \| sms:invalid_number \| string` | No | — |
| `sms_id` | `string` | No | — |
| `sms_key` | `string` | No | — |
| `state` | `pending \| launching \| scheduled \| active \| paused \| complete \| error \| deleted \| cancelled \| incomplete \| string` | No | — |
| `status` | `Upcoming \| In Progress \| Rescheduled \| Complete \| Error \| Excluded \| Incomplete \| string` | No | — |
| `tags` | `any[]` | No | — |

> [accordion] csv full type
>
> ```ts theme={null}
> {
> }
> ```

> [accordion] history full type
>
> ```ts theme={null}
> {
>   call_attempts?: number | string,
>   last_call_id?: number | string | any | null,
>   last_categories?: (call:powerdialer_no_available_agent | call:human_agent | call:ai_agent | call:outbound_connected | call:powerdialer_vm_drop | call:machine_detected | call:powerdialer_call | call:active | call:outbound | call:cancelled | call:inbound | call:missed | call:abandoned | call:user_initiated | string | sms:accepted | sms:invalid_destination | sms:invalid_source | sms:no_route | sms:rejected_spam | sms:internal_error | sms:rejected | sms:not_supported | sms:time_out | sms:error | sms:unknown | sms:forbidden | sms:owner_no_international_messaging | sms:unregistered_a2p_not_allowed | sms:owner_not_enough_sms_credits | sms:owner_not_enough_credits | sms:messaging_disabled | sms:owner_free_user | sms:contact_missing_number | sms:contact_is_room | sms:contact_is_shared_line | sms:staff_contact | sms:company_affinity | sms:not_in_free_company | sms:invalid_number | string | call:max_attempts_item | call:max_attempts_delay_not_met | call:max_attempts_criteria_not_met | call:max_attempts_campaign_phone_total | call:max_attempts_campaign_phone_daily | call:max_attempts_campaign_phone_rolling | call:max_attempts_campaign_contact_total | call:max_attempts_campaign_contact_daily | call:max_attempts_campaign_contact_rolling | call:max_attempts_campaign_company_total | call:max_attempts_campaign_company_daily | call:max_attempts_campaign_company_rolling | call:max_attempts_global_phone_daily | call:max_attempts_global_phone_rolling | call:max_attempts_global_contact_daily | call:max_attempts_global_contact_rolling | call:max_attempts_global_company_daily | call:max_attempts_global_company_rolling | string | string)[] | any | null,
>   last_error_id?: string | any | null,
>   rules?: Record<string, {
>     attempts?: Record<string, any>,
>     rule_type?: string
>   }>
> }
> ```

***

### startCampaignResultExport

`powerdialer.startCampaignResultExport`

Start a campaign result export job. Start a campaign result export job

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.startCampaignResultExport({ path: {"campaign_id":"sample-value"}, query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `query` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   campaign_id: string
> }
> ```

> [accordion] query full type
>
> ```ts theme={null}
> {
>   event_type?: string
> }
> ```

**Output:** *empty object*

***

### startLeadExport

`powerdialer.startLeadExport`

Start a Lead CSV export. Start a CSV export of this company's Leads and return the export record. The export runs in the background: a BigQuery query job plus an extract job routinely takes longer than a request can wait. Poll GET /api/lead\_export/\<id> until it returns a 'url'. Rows are read from the BigQuery mirror of Spanner, which lags writes, so a Lead created moments ago may not be included — narrow with 'since' and treat freshness as best-effort. Columns are the standard Lead fields plus every property registered via /api/custom\_property.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.startLeadExport({ body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   custom?: {
>   } | any | null,
>   lead_source?: hubspot | csv | callback | api | salesforce | receptionist | any | null,
>   limit?: number | string | any | null,
>   since?: string | any | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `number \| string` | Yes | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `error` | `string \| any \| null` | No | — |
| `gcs_filename` | `string \| any \| null` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `lead_export_id` | `string` | Yes | — |
| `lead_source` | `string \| any \| null` | No | — |
| `request_user_id` | `string` | Yes | — |
| `url` | `string` | No | — |

***

### updateApiKey

`powerdialer.updateApiKey`

Update API Key. Rename a key

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.updateApiKey({ path: {"key_id":"sample-value"}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   key_id: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   name?: string | any | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `number \| string` | Yes | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `name` | `string \| any \| null` | No | — |
| `service_account_id` | `string` | No | — |
| `service_account_key` | `string` | No | — |
| `tags` | `any[]` | No | — |
| `token` | `string` | No | — |
| `token_hash` | `string \| any \| null` | No | — |
| `token_tail` | `string` | No | — |
| `type` | `base \| public \| dialer \| string` | Yes | — |
| `user_id` | `string` | No | — |
| `user_key` | `string` | No | — |

***

### updateAudience

`powerdialer.updateAudience`

Update an Audience. Update an Audience name and/or query

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.updateAudience({ path: {"audience_id":"sample-value"}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   audience_id: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   name?: string | any | null,
>   query?: {
>     field: string,
>     op: = | ~= | != |
>   > | < |>= | <= | ^= | $= | !! | ~~, value?: string | number | string | any | null} | {
>     combiner: AND | OR,
>     conditions: (any | any)[]
>   },
>   state?: pending | active | deleted
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `audience_id` | `string` | Yes | — |
| `author_dp_key` | `string \| any \| null` | No | — |
| `author_id` | `string` | No | — |
| `author_key` | `string` | No | — |
| `company_id` | `number \| string` | Yes | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `name` | `string \| any \| null` | No | — |
| `num_rows` | `number \| string` | No | — |
| `query` | `object \| < \| >= \| <= \| ^= \| $= \| !! \| ~~ \| string, value?: string \| number \| string \| any \| null }` | No | — |
| `sort_name` | `string \| any \| null` | No | — |
| `state` | `pending \| active \| deleted \| string` | No | — |
| `tags` | `any[]` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   field: string,
>   op: = | ~= | != |
> > | < |>= | <= | ^= | $= | !! | ~~ | string, value?: string | number | string | any | null} | {
>   combiner: AND | OR | string,
>   conditions: (any | any)[]
> }
> ```

***

### updateBot

`powerdialer.updateBot`

Update Bot. Update a Bot's name or kare ids

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.updateBot({ path: {"bot_id":"sample-value"}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   bot_id: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   app_id?: string,
>   name?: string,
>   template?: string | any | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_id` | `string` | No | — |
| `author_dp_key` | `string \| any \| null` | No | — |
| `author_id` | `string` | No | — |
| `author_key` | `string` | No | — |
| `bot_id` | `string` | Yes | — |
| `company_id` | `number \| string` | Yes | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `name` | `string` | No | — |
| `org_id` | `string \| any \| null` | No | — |
| `sort_name` | `string \| any \| null` | No | — |
| `tags` | `any[]` | No | — |
| `template` | `string \| any \| null` | No | — |

***

### updateBotDialog

`powerdialer.updateBotDialog`

Update Bot Dialog. Perform an action on a BotDialog, e.g. end it without deleting

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.updateBotDialog({ path: {"bot_dialog_id":"sample-value"}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   bot_dialog_id: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   action?: end
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `author_dp_key` | `string \| any \| null` | No | — |
| `author_id` | `string` | No | — |
| `author_key` | `string` | No | — |
| `bot_dialog_id` | `string` | Yes | — |
| `bot_id` | `string` | Yes | — |
| `company_id` | `number \| string` | Yes | — |
| `conv_id` | `string \| any \| null` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_last_message` | `number \| string` | No | — |
| `date_last_message_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `state` | `pending \| active \| ended \| error \| string` | No | — |
| `template_data` | `object` | No | — |

> [accordion] template\_data full type
>
> ```ts theme={null}
> {
> }
> ```

***

### updateCampaign

`powerdialer.updateCampaign`

Update Campaign. Update a Campaign like starting, resetting, etc

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.powerdialer.updateCampaign({ path: {"campaign_id":"sample-value"}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   campaign_id: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   action?: launch | ping | toggle | start | stop | reset | pause | archive | unarchive,
>   caller_id?: string | any | null,
>   date_scheduled_end?: string | any | null,
>   date_scheduled_start?: string | any | null,
>   description?: string,
>   group_id?: number | string | any | null,
>   is_dynamic?: boolean,
>   name?: string,
>   office_id?: number | string | any | null,
>   queries?: (
>     {
>       field: string,
>       op: = | ~= | != |
>     > | < |>= | <= | ^= | $= | !! | ~~, value?: any | any | any} | {
>       combiner: AND | OR,
>       conditions: any[]
>     }
>   )[],
>   settings?: string | any | null,
>   shared_list?: string | any | null,
>   strategy?: progressive | predictive | preview | ai_progressive | ai_predictive
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `author_dp_key` | `string \| any \| null` | No | — |
| `author_id` | `string` | No | — |
| `author_key` | `string` | No | — |
| `caller_id` | `string \| any \| null` | No | — |
| `campaign_group_id` | `string` | No | — |
| `campaign_group_key` | `string` | No | — |
| `campaign_group_order` | `number \| string \| any \| null` | No | — |
| `campaign_id` | `string` | Yes | — |
| `company_id` | `number \| string` | Yes | — |
| `date_archived` | `number \| string` | No | — |
| `date_archived_iso` | `string` | No | — |
| `date_audience_computed` | `number \| string` | No | — |
| `date_audience_computed_iso` | `string` | No | — |
| `date_computed` | `number \| string` | No | — |
| `date_computed_iso` | `string` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_ended` | `number \| string` | No | — |
| `date_ended_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `date_paused` | `number \| string` | No | — |
| `date_paused_iso` | `string` | No | — |
| `date_scheduled_end` | `number \| string` | No | — |
| `date_scheduled_end_iso` | `string` | No | — |
| `date_scheduled_start` | `number \| string` | No | — |
| `date_scheduled_start_iso` | `string` | No | — |
| `date_started` | `number \| string` | No | — |
| `date_started_iso` | `string` | No | — |
| `description` | `string` | No | — |
| `event_logs_gcs_filename` | `string` | No | — |
| `flow_id` | `string` | No | — |
| `flow_key` | `string` | No | — |
| `gcs_filename` | `string` | No | — |
| `group_id` | `number \| string` | No | — |
| `id` | `string` | Yes | — |
| `is_dynamic` | `boolean` | No | — |
| `key` | `string` | Yes | — |
| `lead_list_id` | `string` | No | — |
| `lead_list_key` | `string` | No | — |
| `name` | `string` | No | — |
| `num_items` | `number \| string` | No | — |
| `num_pending` | `number \| string` | No | — |
| `office_id` | `number \| string \| any \| null` | No | — |
| `priority` | `number \| string \| any \| null` | No | — |
| `progress` | `number \| any \| null` | No | — |
| `queries` | `object[]` | No | — |
| `settings_id` | `string` | No | — |
| `settings_key` | `string` | No | — |
| `shared_list_id` | `string` | No | — |
| `shared_list_key` | `string` | No | — |
| `sort_name` | `string \| any \| null` | No | — |
| `source_list_ids` | `any[]` | No | — |
| `state` | `pending \| launching \| scheduled \| active \| paused \| complete \| error \| deleted \| cancelled \| string` | No | — |
| `strategy` | `progressive \| predictive \| preview \| ai_progressive \| ai_predictive \| string` | No | — |
| `tags` | `any[]` | No | — |
| `target_id` | `string` | No | — |
| `target_key` | `string` | No | — |

> [accordion] queries full type
>
> ```ts theme={null}
> (
>   {
>     field: string,
>     op: = | ~= | != |
>   > | < |>= | <= | ^= | $= | !! | ~~ | string, value?: any | any | any} | {
>     combiner: AND | OR | string,
>     conditions: any[]
>   }
> )[]
> ```

***

### updateCampaignGroup

`powerdialer.updateCampaignGroup`

Update Campaign Group. Update Campaign Group

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.updateCampaignGroup({ path: {"campaign_group_id":"sample-value"}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   campaign_group_id: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   action?: launch | pause,
>   description?: string,
>   name?: string,
>   priorities?: {
>   }
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `author_dp_key` | `string \| any \| null` | No | — |
| `author_id` | `string` | No | — |
| `author_key` | `string` | No | — |
| `campaign_group_id` | `string` | Yes | — |
| `company_id` | `number \| string` | Yes | — |
| `date_computed` | `number \| string` | No | — |
| `date_computed_iso` | `string` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `description` | `string` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `name` | `string` | No | — |
| `office_id` | `number \| string \| any \| null` | No | — |
| `state` | `pending \| launching \| scheduled \| active \| paused \| complete \| error \| deleted \| cancelled \| string` | No | — |
| `tags` | `any[]` | No | — |
| `target_id` | `string` | No | — |
| `target_key` | `string` | No | — |
| `wrr_credits` | `object` | No | — |

> [accordion] wrr\_credits full type
>
> ```ts theme={null}
> {
> }
> ```

***

### updateCsv

`powerdialer.updateCsv`

Update CSV. Update a CSV with a mapping, labels, name, etc

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.updateCsv({ path: {"csv_id":"sample-value"}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   csv_id: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   action?: import,
>   custom_mapping?: {
>   },
>   import_results?: {
>     collisions?: number | string,
>     created?: number | string,
>     duplicates?: number | string,
>     failed_batches?: number | string,
>     skipped?: number | string,
>     total?: number | string,
>     updated?: number | string
>   },
>   labels?: any[],
>   lead_mapping?: {
>   },
>   name?: string,
>   office_id?: number | string | any | null,
>   strategy?: skip | merge
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `author_dp_key` | `string \| any \| null` | No | — |
| `author_id` | `string` | No | — |
| `author_key` | `string` | No | — |
| `columns` | `any[]` | No | — |
| `company_id` | `number \| string` | Yes | — |
| `csv_id` | `string` | Yes | — |
| `custom_mapping` | `Record<string, string>` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `download_url` | `string` | No | — |
| `file_type` | `CSV \| XLSX \| string` | No | — |
| `filename` | `string` | No | — |
| `gcs_filename` | `string \| any \| null` | No | — |
| `id` | `string` | Yes | — |
| `import_results` | `object` | No | — |
| `key` | `string` | Yes | — |
| `labels` | `any[]` | No | — |
| `lead_mapping` | `Record<string, do_not_import \| first_name \| last_name \| job_title \| industry \| role \| department \| external_id \| timezone \| lang \| primary_phone \| secondary_phone \| primary_email \| secondary_email \| address_name \| address_line1 \| address_line2 \| city \| region \| postal_code \| country \| company_name \| company_phone \| company_address_line1 \| company_address_line2 \| company_city \| company_region \| company_postal_code \| company_country \| company_sic_code \| company_naics_code \| company_blacklisted \| company_annual_revenue \| company_currency \| company_num_employees \| primary_phone_fallback \| string>` | No | — |
| `name` | `string` | No | — |
| `num_rows` | `number \| string \| any \| null` | No | — |
| `office_id` | `number \| string \| any \| null` | No | — |
| `sort_name` | `string \| any \| null` | No | — |
| `state` | `pending \| launching \| scheduled \| active \| paused \| complete \| error \| deleted \| cancelled \| string` | No | — |
| `strategy` | `skip \| merge \| string` | No | — |
| `tags` | `any[]` | No | — |

> [accordion] import\_results full type
>
> ```ts theme={null}
> {
>   collisions?: number | string,
>   created?: number | string,
>   duplicates?: number | string,
>   failed_batches?: number | string,
>   skipped?: number | string,
>   total?: number | string,
>   updated?: number | string
> }
> ```

***

### updateCustomProperty

`powerdialer.updateCustomProperty`

Update Custom Property. Update a custom property

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.updateCustomProperty({ path: {"id":"sample-value"}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   display_name?: string | any | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `number \| string` | Yes | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `display_name` | `string \| any \| null` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `name` | `string` | Yes | — |
| `sort_name` | `string \| any \| null` | No | — |

***

### updateGlobalSettings

`powerdialer.updateGlobalSettings`

Update Company GlobalSettings. Update company GlobalSettings entity

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.updateGlobalSettings({ path: {"company_id":1}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   company_id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   action?: reset_call_attempt_limits | any | null,
>   company_attempt_limits?: {
>     all_campaigns?: {
>       daily_limit?: number | string,
>       enabled?: boolean,
>       rolling_in_days?: number | string,
>       rolling_limit?: number | string
>     },
>     per_campaign?: {
>       daily_limit?: number | string,
>       enabled?: boolean,
>       rolling_in_days?: number | string,
>       rolling_limit?: number | string,
>       total_limit?: number | string
>     }
>   },
>   contact_attempt_limits?: {
>     all_campaigns?: {
>       daily_limit?: number | string,
>       enabled?: boolean,
>       rolling_in_days?: number | string,
>       rolling_limit?: number | string
>     },
>     per_campaign?: {
>       daily_limit?: number | string,
>       enabled?: boolean,
>       rolling_in_days?: number | string,
>       rolling_limit?: number | string,
>       total_limit?: number | string
>     }
>   },
>   fdcpa_settings?: {
>     attempted_call_rolling_days?: number | string,
>     connected_call_rolling_days?: number | string,
>     enabled?: boolean,
>     max_attempted_calls?: number | string,
>     max_connected_calls?: number | string
>   },
>   idle_boost_threshold_seconds?: number | string,
>   phone_attempt_limits?: {
>     all_campaigns?: {
>       daily_limit?: number | string,
>       enabled?: boolean,
>       rolling_in_days?: number | string,
>       rolling_limit?: number | string
>     },
>     per_campaign?: {
>       daily_limit?: number | string,
>       enabled?: boolean,
>       rolling_in_days?: number | string,
>       rolling_limit?: number | string,
>       total_limit?: number | string
>     }
>   },
>   salesforce?: {
>     sfdc_contact?: {
>       custom_mapping?: any,
>       lead_mapping?: any
>     },
>     sfdc_lead?: {
>       custom_mapping?: any,
>       lead_mapping?: any
>     },
>     sfdc_opportunity?: {
>       custom_mapping?: any,
>       lead_mapping?: any
>     }
>   }
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_attempt_limits` | `object` | No | — |
| `company_id` | `number \| string` | Yes | — |
| `contact_attempt_limits` | `object` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `fdcpa_settings` | `object` | No | — |
| `id` | `string` | Yes | — |
| `idle_boost_threshold_seconds` | `number \| string` | No | — |
| `key` | `string` | Yes | — |
| `phone_attempt_limits` | `object` | No | — |
| `salesforce` | `object` | No | — |

> [accordion] company\_attempt\_limits full type
>
> ```ts theme={null}
> {
>   all_campaigns?: {
>     daily_limit?: number | string,
>     enabled?: boolean,
>     rolling_in_days?: number | string,
>     rolling_limit?: number | string
>   },
>   per_campaign?: {
>     daily_limit?: number | string,
>     enabled?: boolean,
>     rolling_in_days?: number | string,
>     rolling_limit?: number | string,
>     total_limit?: number | string
>   }
> }
> ```

> [accordion] contact\_attempt\_limits full type
>
> ```ts theme={null}
> {
>   all_campaigns?: {
>     daily_limit?: number | string,
>     enabled?: boolean,
>     rolling_in_days?: number | string,
>     rolling_limit?: number | string
>   },
>   per_campaign?: {
>     daily_limit?: number | string,
>     enabled?: boolean,
>     rolling_in_days?: number | string,
>     rolling_limit?: number | string,
>     total_limit?: number | string
>   }
> }
> ```

> [accordion] fdcpa\_settings full type
>
> ```ts theme={null}
> {
>   attempted_call_rolling_days?: number | string,
>   connected_call_rolling_days?: number | string,
>   enabled?: boolean,
>   max_attempted_calls?: number | string,
>   max_connected_calls?: number | string
> }
> ```

> [accordion] phone\_attempt\_limits full type
>
> ```ts theme={null}
> {
>   all_campaigns?: {
>     daily_limit?: number | string,
>     enabled?: boolean,
>     rolling_in_days?: number | string,
>     rolling_limit?: number | string
>   },
>   per_campaign?: {
>     daily_limit?: number | string,
>     enabled?: boolean,
>     rolling_in_days?: number | string,
>     rolling_limit?: number | string,
>     total_limit?: number | string
>   }
> }
> ```

> [accordion] salesforce full type
>
> ```ts theme={null}
> {
>   sfdc_contact?: {
>     custom_mapping?: any,
>     lead_mapping?: any
>   },
>   sfdc_lead?: {
>     custom_mapping?: any,
>     lead_mapping?: any
>   },
>   sfdc_opportunity?: {
>     custom_mapping?: any,
>     lead_mapping?: any
>   }
> }
> ```

***

### updateLead

`powerdialer.updateLead`

Update Lead. Update a Lead

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.updateLead({ path: {"lead_id":"sample-value"}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   lead_id: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   addresses?: {
>     city?: string | any | null,
>     country?: string | any | null,
>     line1?: string | any | null,
>     line2?: string | any | null,
>     name?: string | any | null,
>     postal_code?: string | any | null,
>     region?: string | any | null
>   }[],
>   custom?: {
>   },
>   department?: string | any | null,
>   emails?: {
>     domain?: string | any | null,
>     email: string,
>     label?: string | any | null
>   }[],
>   engagement_score?: number | string | any | null,
>   external_id?: string | any | null,
>   first_name?: string | any | null,
>   industry?: string | any | null,
>   job_title?: string | any | null,
>   lang?: string | any | null,
>   last_name?: string | any | null,
>   lead_company_id?: string | any | null,
>   lead_score?: number | string | any | null,
>   phones?: {
>     country?: string | any | null,
>     display?: string | any | null,
>     label?: string | any | null,
>     number: string
>   }[],
>   preferred_medium?: string | any | null,
>   role?: string | any | null,
>   tags?: any[],
>   timezone?: string | any | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `addresses` | `object[]` | No | — |
| `company_id` | `number \| string` | Yes | — |
| `contact_id` | `string \| any \| null` | No | — |
| `contact_type` | `string \| any \| null` | No | — |
| `csv_id` | `string \| any \| null` | No | — |
| `csv_line` | `number \| string \| any \| null` | No | — |
| `custom` | `object` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_first_contacted` | `number \| string` | No | — |
| `date_first_contacted_iso` | `string` | No | — |
| `date_last_contacted` | `number \| string` | No | — |
| `date_last_contacted_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `department` | `string \| any \| null` | No | — |
| `emails` | `object[]` | No | — |
| `engagement_score` | `number \| string \| any \| null` | No | — |
| `external_id` | `string \| any \| null` | No | — |
| `first_name` | `string \| any \| null` | No | — |
| `home_phone` | `string \| any \| null` | No | — |
| `id` | `string` | Yes | — |
| `image_url` | `string` | No | — |
| `industry` | `string \| any \| null` | No | — |
| `job_title` | `string \| any \| null` | No | — |
| `key` | `string` | Yes | — |
| `lang` | `string \| any \| null` | No | — |
| `last_medium` | `string \| any \| null` | No | — |
| `last_name` | `string \| any \| null` | No | — |
| `lead_company_id` | `string \| any \| null` | No | — |
| `lead_id` | `string` | Yes | — |
| `lead_score` | `number \| string \| any \| null` | No | — |
| `lead_source` | `hubspot \| csv \| callback \| api \| salesforce \| receptionist \| string` | No | — |
| `mobile_phone` | `string \| any \| null` | No | — |
| `name` | `string` | No | — |
| `owner_id` | `string \| any \| null` | No | — |
| `owner_type` | `string \| any \| null` | No | — |
| `phones` | `object[]` | No | — |
| `preferred_medium` | `string \| any \| null` | No | — |
| `primary_address` | `object \| any \| null` | No | — |
| `primary_email` | `string \| any \| null` | No | — |
| `primary_phone` | `string \| any \| null` | No | — |
| `remote_id` | `string \| any \| null` | No | — |
| `role` | `string \| any \| null` | No | — |
| `secondary_email` | `string \| any \| null` | No | — |
| `secondary_phone` | `string \| any \| null` | No | — |
| `state` | `pending \| active \| deleted \| string` | No | — |
| `tags` | `any[]` | No | — |
| `timezone` | `string \| any \| null` | No | — |

> [accordion] addresses full type
>
> ```ts theme={null}
> {
>   city?: string | any | null,
>   country?: string | any | null,
>   line1?: string | any | null,
>   line2?: string | any | null,
>   name?: string | any | null,
>   postal_code?: string | any | null,
>   region?: string | any | null
> }[]
> ```

> [accordion] custom full type
>
> ```ts theme={null}
> {
> }
> ```

> [accordion] emails full type
>
> ```ts theme={null}
> {
>   domain?: string | any | null,
>   email: string,
>   label?: string | any | null
> }[]
> ```

> [accordion] phones full type
>
> ```ts theme={null}
> {
>   country?: string | any | null,
>   display?: string | any | null,
>   label?: string | any | null,
>   number: string
> }[]
> ```

> [accordion] primary\_address full type
>
> ```ts theme={null}
> {
> } | any | null
> ```

***

### updateLeadItem

`powerdialer.updateLeadItem`

Update LeadItem. Update a LeadItem

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.updateLeadItem({ path: {"item_id":"sample-value"}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   item_id: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   state?: cancelled | any | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `item` | `object` | Yes | — |
| `item_id` | `string` | Yes | — |
| `last_call` | `object \| any \| null` | Yes | — |
| `lead` | `object` | Yes | — |

> [accordion] item full type
>
> ```ts theme={null}
> {
>   call_id?: string,
>   call_key?: string,
>   campaign_id?: string | any | null,
>   company_id: number | string,
>   contact_id?: string,
>   contact_key?: string,
>   csv?: {
>   },
>   current_rule_id?: string,
>   current_rule_key?: string,
>   date_created?: number | string,
>   date_created_iso?: string,
>   date_estimate?: number | string,
>   date_estimate_iso?: string,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   history?: {
>     call_attempts?: number | string,
>     last_call_id?: number | string | any | null,
>     last_categories?: (call:powerdialer_no_available_agent | call:human_agent | call:ai_agent | call:outbound_connected | call:powerdialer_vm_drop | call:machine_detected | call:powerdialer_call | call:active | call:outbound | call:cancelled | call:inbound | call:missed | call:abandoned | call:user_initiated | string | sms:accepted | sms:invalid_destination | sms:invalid_source | sms:no_route | sms:rejected_spam | sms:internal_error | sms:rejected | sms:not_supported | sms:time_out | sms:error | sms:unknown | sms:forbidden | sms:owner_no_international_messaging | sms:unregistered_a2p_not_allowed | sms:owner_not_enough_sms_credits | sms:owner_not_enough_credits | sms:messaging_disabled | sms:owner_free_user | sms:contact_missing_number | sms:contact_is_room | sms:contact_is_shared_line | sms:staff_contact | sms:company_affinity | sms:not_in_free_company | sms:invalid_number | string | call:max_attempts_item | call:max_attempts_delay_not_met | call:max_attempts_criteria_not_met | call:max_attempts_campaign_phone_total | call:max_attempts_campaign_phone_daily | call:max_attempts_campaign_phone_rolling | call:max_attempts_campaign_contact_total | call:max_attempts_campaign_contact_daily | call:max_attempts_campaign_contact_rolling | call:max_attempts_campaign_company_total | call:max_attempts_campaign_company_daily | call:max_attempts_campaign_company_rolling | call:max_attempts_global_phone_daily | call:max_attempts_global_phone_rolling | call:max_attempts_global_contact_daily | call:max_attempts_global_contact_rolling | call:max_attempts_global_company_daily | call:max_attempts_global_company_rolling | string | string)[] | any | null,
>     last_error_id?: string | any | null,
>     rules?: Record<string, {
>       attempts?: Record<string, any>,
>       rule_type?: string
>     }>
>   },
>   id: string,
>   index?: number,
>   item_id: string,
>   key: string,
>   lead_id?: string,
>   lead_key?: string,
>   list_id: string,
>   result_code?: call:powerdialer_no_available_agent | call:human_agent | call:ai_agent | call:outbound_connected | call:powerdialer_vm_drop | call:machine_detected | call:powerdialer_call | call:active | call:outbound | call:cancelled | call:inbound | call:missed | call:abandoned | call:user_initiated | call:max_attempts_item | call:max_attempts_delay_not_met | call:max_attempts_criteria_not_met | call:max_attempts_campaign_phone_total | call:max_attempts_campaign_phone_daily | call:max_attempts_campaign_phone_rolling | call:max_attempts_campaign_contact_total | call:max_attempts_campaign_contact_daily | call:max_attempts_campaign_contact_rolling | call:max_attempts_campaign_company_total | call:max_attempts_campaign_company_daily | call:max_attempts_campaign_company_rolling | call:max_attempts_global_phone_daily | call:max_attempts_global_phone_rolling | call:max_attempts_global_contact_daily | call:max_attempts_global_contact_rolling | call:max_attempts_global_company_daily | call:max_attempts_global_company_rolling | call:dnc | call:timegate_failed | call:fdcpa_max_attempted | call:fdcpa_max_connected | call:no_consent | call:skipped | sms:dnt | sms:timegate_failed | sms:no_consent | sms:skipped | sms:accepted | sms:invalid_destination | sms:invalid_source | sms:no_route | sms:rejected_spam | sms:internal_error | sms:rejected | sms:not_supported | sms:time_out | sms:error | sms:unknown | sms:forbidden | sms:owner_no_international_messaging | sms:unregistered_a2p_not_allowed | sms:owner_not_enough_sms_credits | sms:owner_not_enough_credits | sms:messaging_disabled | sms:owner_free_user | sms:contact_missing_number | sms:contact_is_room | sms:contact_is_shared_line | sms:staff_contact | sms:company_affinity | sms:not_in_free_company | sms:invalid_number | string,
>   sms_id?: string,
>   sms_key?: string,
>   state?: pending | launching | scheduled | active | paused | complete | error | deleted | cancelled | incomplete | string,
>   status?: Upcoming | In Progress | Rescheduled | Complete | Error | Excluded | Incomplete | string,
>   tags?: any[]
> }
> ```

> [accordion] last\_call full type
>
> ```ts theme={null}
> {
>   analytics_categories?: any[],
>   call_id: number | string,
>   call_result?: connected | missed | voicemail | called | string,
>   campaign_id?: string | any | null,
>   company_id: number | string,
>   contact_id?: string | any | null,
>   contact_type?: string | any | null,
>   date_connected?: number | string,
>   date_connected_iso?: string,
>   date_created?: number | string,
>   date_created_iso?: string,
>   date_ended?: number | string,
>   date_ended_iso?: string,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   device_type?: string | any | null,
>   direction?: inbound | outbound | string,
>   dispositions?: any[],
>   external_endpoint?: string | any | null,
>   external_leg_id?: string | any | null,
>   id: string,
>   internal_leg_ids?: any[],
>   is_recording?: boolean | any | null,
>   key: string,
>   lead_company_id?: string | any | null,
>   machine_detection_confidence?: number | any | null,
>   machine_detection_type?: string | any | null,
>   operator_call_id?: number | string | any | null,
>   operator_id?: string | any | null,
>   operator_type?: string | any | null,
>   powerdial_info?: {
>   },
>   state: preanswer | calling | ringing | connected | merged | hold | queued | voicemail | eavesdrop | monitor | barge | hangup | blocked | admin | parked | takeover | postcall | transcription | recording | csat | dispositions | missed | voicemail_uploaded | admin_recording | string,
>   target_id?: string | any | null,
>   target_type?: string | any | null
> } | any | null
> ```

> [accordion] lead full type
>
> ```ts theme={null}
> {
>   addresses?: {
>     city?: string | any | null,
>     country?: string | any | null,
>     line1?: string | any | null,
>     line2?: string | any | null,
>     name?: string | any | null,
>     postal_code?: string | any | null,
>     region?: string | any | null
>   }[],
>   company_id: number | string,
>   contact_id?: string | any | null,
>   contact_type?: string | any | null,
>   csv_id?: string | any | null,
>   csv_line?: number | string | any | null,
>   custom?: {
>   },
>   date_created?: number | string,
>   date_created_iso?: string,
>   date_first_contacted?: number | string,
>   date_first_contacted_iso?: string,
>   date_last_contacted?: number | string,
>   date_last_contacted_iso?: string,
>   date_modified?: number | string,
>   date_modified_iso?: string,
>   department?: string | any | null,
>   emails?: {
>     domain?: string | any | null,
>     email: string,
>     label?: string | any | null
>   }[],
>   engagement_score?: number | string | any | null,
>   external_id?: string | any | null,
>   first_name?: string | any | null,
>   home_phone?: string | any | null,
>   id: string,
>   image_url?: string,
>   industry?: string | any | null,
>   job_title?: string | any | null,
>   key: string,
>   lang?: string | any | null,
>   last_medium?: string | any | null,
>   last_name?: string | any | null,
>   lead_company_id?: string | any | null,
>   lead_id: string,
>   lead_score?: number | string | any | null,
>   lead_source?: hubspot | csv | callback | api | salesforce | receptionist | string,
>   mobile_phone?: string | any | null,
>   name?: string,
>   owner_id?: string | any | null,
>   owner_type?: string | any | null,
>   phones?: {
>     country?: string | any | null,
>     display?: string | any | null,
>     label?: string | any | null,
>     number: string
>   }[],
>   preferred_medium?: string | any | null,
>   primary_address?: {
>   } | any | null,
>   primary_email?: string | any | null,
>   primary_phone?: string | any | null,
>   remote_id?: string | any | null,
>   role?: string | any | null,
>   secondary_email?: string | any | null,
>   secondary_phone?: string | any | null,
>   state?: pending | active | deleted | string,
>   tags?: any[],
>   timezone?: string | any | null
> }
> ```

***

### updateLeadList

`powerdialer.updateLeadList`

Update LeadList. Update a LeadList with csv\_ids, audience\_ids, etc. Supports actions: set\_audience, remove\_audience, create\_static\_list, add\_leads, remove\_leads, add\_snapshot, refresh\_snapshot, clear\_snapshot, clear\_manual, refresh\_audience

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.updateLeadList({ path: {"list_id":"sample-value"}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   list_id: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   action?: set_audience | remove_audience | create_static_list | add_leads | remove_leads | add_snapshot | refresh_snapshot | clear_snapshot | clear_manual | refresh_audience | any | null,
>   audience_ids?: any[],
>   csv_ids?: any[],
>   is_shared?: boolean,
>   lead_ids?: string[] | any | null,
>   lead_order?: any[],
>   name?: string,
>   office_id?: number | string | any | null,
>   query?: {
>   } | any | null,
>   salesforce_listview_id?: string | any | null,
>   static_list_ids?: any[]
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `audience_ids` | `any[]` | No | — |
| `audience_keys` | `any[]` | No | — |
| `author_dp_key` | `string \| any \| null` | No | — |
| `author_id` | `string` | No | — |
| `author_key` | `string` | No | — |
| `company_id` | `number \| string` | Yes | — |
| `csv_columns` | `any[]` | No | — |
| `csv_ids` | `any[]` | No | — |
| `csv_keys` | `any[]` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `date_user_modified` | `number \| string` | No | — |
| `date_user_modified_iso` | `string` | No | — |
| `id` | `string` | Yes | — |
| `is_shared` | `boolean` | No | — |
| `key` | `string` | Yes | — |
| `last_author_dp_key` | `string \| any \| null` | No | — |
| `last_author_id_id` | `string` | No | — |
| `last_author_id_key` | `string` | No | — |
| `lead_order` | `any[]` | No | — |
| `list_id` | `string` | Yes | — |
| `name` | `string` | No | — |
| `num_csv_rows` | `number \| string` | No | — |
| `num_manual_rows` | `number \| string` | No | — |
| `num_query_rows` | `number \| string` | No | — |
| `num_rows` | `number \| string` | No | — |
| `num_snapshot_rows` | `number \| string` | No | — |
| `office_id` | `number \| string \| any \| null` | No | — |
| `salesforce_listview_id` | `string \| any \| null` | No | — |
| `sort_name` | `string \| any \| null` | No | — |
| `static_list_ids` | `any[]` | No | — |
| `static_list_keys` | `any[]` | No | — |
| `tags` | `any[]` | No | — |

***

### updatePhone

`powerdialer.updatePhone`

Update Phone. Update a Phone DNC/DNT statuses

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.updatePhone({ path: {"e164":"sample-value"}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   e164: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   consent?: implied | consent | written_consent | revoked,
>   date_dnc_expires?: string | any | null,
>   date_dnc_opt_out?: string | any | null,
>   date_dnt_expires?: string | any | null,
>   date_dnt_opt_out?: string | any | null,
>   dnc?: boolean | any | null,
>   dnc_scope?: powerdialer | ever,
>   dnt?: boolean | any | null,
>   dnt_scope?: powerdialer | ever,
>   e164?: string,
>   label?: mobile | work | home | other,
>   state?: active | deleted,
>   tags?: any[],
>   validity?: good | unverified | disconnected | fax | spam | wrong_number
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `number \| string` | Yes | — |
| `consent` | `implied \| consent \| written_consent \| revoked \| string` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_dnc_expires` | `number \| string` | No | — |
| `date_dnc_expires_iso` | `string` | No | — |
| `date_dnc_opt_out` | `number \| string` | No | — |
| `date_dnc_opt_out_iso` | `string` | No | — |
| `date_dnt_expires` | `number \| string` | No | — |
| `date_dnt_expires_iso` | `string` | No | — |
| `date_dnt_opt_out` | `number \| string` | No | — |
| `date_dnt_opt_out_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `dnc` | `boolean \| any \| null` | No | — |
| `dnc_scope` | `powerdialer \| ever \| string` | No | — |
| `dnt` | `boolean \| any \| null` | No | — |
| `dnt_scope` | `powerdialer \| ever \| string` | No | — |
| `e164` | `string` | Yes | — |
| `formatted_phone` | `string \| any \| null` | No | — |
| `id` | `string` | Yes | — |
| `is_dnc_expired` | `boolean` | No | — |
| `is_dnt_expired` | `boolean` | No | — |
| `key` | `string` | Yes | — |
| `label` | `mobile \| work \| home \| other \| string` | No | — |
| `last_author_dp_key` | `string \| any \| null` | No | — |
| `last_author_id` | `string \| any \| null` | No | — |
| `last_csv_id` | `string \| any \| null` | No | — |
| `last_source` | `api \| csv \| dp_contact \| string` | No | — |
| `state` | `active \| deleted \| string` | No | — |
| `tags` | `any[]` | No | — |
| `timezone` | `string \| any \| null` | No | — |
| `validity` | `good \| unverified \| disconnected \| fax \| spam \| wrong_number \| string` | No | — |

***

### updatePhoneCsv

`powerdialer.updatePhoneCsv`

Update Phone CSV. Update a Phone CSV with a mapping, labels, name, etc

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.updatePhoneCsv({ path: {"csv_id":"sample-value"}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   csv_id: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   action?: import,
>   import_results?: {
>     collisions?: number | string,
>     created?: number | string,
>     duplicates?: number | string,
>     failed_batches?: number | string,
>     skipped?: number | string,
>     total?: number | string,
>     updated?: number | string
>   },
>   labels?: any[],
>   mapping?: {
>   },
>   name?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `author_dp_key` | `string \| any \| null` | No | — |
| `author_id` | `string` | No | — |
| `author_key` | `string` | No | — |
| `columns` | `any[]` | No | — |
| `company_id` | `number \| string` | Yes | — |
| `csv_id` | `string` | Yes | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `download_url` | `string` | No | — |
| `file_type` | `CSV \| XLSX \| string` | No | — |
| `filename` | `string` | No | — |
| `gcs_filename` | `string \| any \| null` | No | — |
| `id` | `string` | Yes | — |
| `import_results` | `object` | No | — |
| `key` | `string` | Yes | — |
| `labels` | `any[]` | No | — |
| `mapping` | `Record<string, e164 \| dnc \| dnc_scope \| dnc_expiration \| dnt \| dnt_scope \| dnt_expiration \| consent \| validity \| date_dnc_opt_out \| date_dnt_opt_out \| do_not_import \| string>` | No | — |
| `name` | `string` | No | — |
| `num_rows` | `number \| string \| any \| null` | No | — |
| `sort_name` | `string \| any \| null` | No | — |
| `state` | `pending \| launching \| scheduled \| active \| paused \| complete \| error \| deleted \| cancelled \| string` | No | — |
| `tags` | `any[]` | No | — |

> [accordion] import\_results full type
>
> ```ts theme={null}
> {
>   collisions?: number | string,
>   created?: number | string,
>   duplicates?: number | string,
>   failed_batches?: number | string,
>   skipped?: number | string,
>   total?: number | string,
>   updated?: number | string
> }
> ```

***

### updateRule

`powerdialer.updateRule`

Update a rule for a campaign. Update a rule for a campaign

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.updateRule({ path: {"rule_id":"sample-value"}, body: {"type":"call"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   rule_id: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   conditions?: {
>     action: complete | next | retry | flow | drop_vm,
>     config?: {
>       custom_ivr_details_id?: any,
>       delay?: any,
>       flow_id?: any,
>       max_attempts?: any
>     },
>     states?: (call:powerdialer_no_available_agent | call:human_agent | call:ai_agent | call:outbound_connected | call:powerdialer_vm_drop | call:machine_detected | call:powerdialer_call | call:active | call:outbound | call:cancelled | call:inbound | call:missed | call:abandoned | call:user_initiated | sms:accepted | sms:invalid_destination | sms:invalid_source | sms:no_route | sms:rejected_spam | sms:internal_error | sms:rejected | sms:not_supported | sms:time_out | sms:error | sms:unknown | sms:forbidden | sms:owner_no_international_messaging | sms:unregistered_a2p_not_allowed | sms:owner_not_enough_sms_credits | sms:owner_not_enough_credits | sms:messaging_disabled | sms:owner_free_user | sms:contact_missing_number | sms:contact_is_room | sms:contact_is_shared_line | sms:staff_contact | sms:company_affinity | sms:not_in_free_company | sms:invalid_number)[]
>   }[],
>   settings?: {
>     phone_field?: string,
>     text: string
>   } | {
>     ai_agent_settings?: {
>       agent_id?: any,
>       provider_name?: any
>     },
>     phone_field?: string
>   },
>   type: call | sms
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `number \| string` | Yes | — |
| `conditions` | `object[]` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `flow_ids` | `any[]` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `parent_id` | `string` | No | — |
| `parent_key` | `string` | No | — |
| `rule_id` | `string` | Yes | — |
| `settings` | `object` | No | — |
| `type` | `call \| sms \| string` | Yes | — |

> [accordion] conditions full type
>
> ```ts theme={null}
> {
>   action: complete | next | retry | flow | drop_vm | string,
>   config?: {
>     custom_ivr_details_id?: any,
>     delay?: any,
>     flow_id?: any,
>     max_attempts?: any
>   },
>   states?: (call:powerdialer_no_available_agent | call:human_agent | call:ai_agent | call:outbound_connected | call:powerdialer_vm_drop | call:machine_detected | call:powerdialer_call | call:active | call:outbound | call:cancelled | call:inbound | call:missed | call:abandoned | call:user_initiated | string | sms:accepted | sms:invalid_destination | sms:invalid_source | sms:no_route | sms:rejected_spam | sms:internal_error | sms:rejected | sms:not_supported | sms:time_out | sms:error | sms:unknown | sms:forbidden | sms:owner_no_international_messaging | sms:unregistered_a2p_not_allowed | sms:owner_not_enough_sms_credits | sms:owner_not_enough_credits | sms:messaging_disabled | sms:owner_free_user | sms:contact_missing_number | sms:contact_is_room | sms:contact_is_shared_line | sms:staff_contact | sms:company_affinity | sms:not_in_free_company | sms:invalid_number | string)[]
> }[]
> ```

> [accordion] settings full type
>
> ```ts theme={null}
> {
>   phone_field?: string,
>   text: string
> } | {
>   ai_agent_settings?: {
>     agent_id?: any,
>     provider_name?: any
>   },
>   phone_field?: string
> }
> ```

***

### updateSalesforceListViewImport

`powerdialer.updateSalesforceListViewImport`

Update Salesforce ListView Import. Update a Salesforce ListView Import, e.g., start the import job

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.updateSalesforceListViewImport({ path: {"import_id":"sample-value"}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   import_id: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   action?: start,
>   campaign_id?: string | any | null,
>   listview_id?: string | any | null,
>   object_mapping_id?: string | any | null,
>   sobject_type?: Lead | Contact | Opportunity | Account,
>   strategy?: skip | merge
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `author_dp_key` | `string \| any \| null` | No | — |
| `author_id` | `string` | No | — |
| `author_key` | `string` | No | — |
| `campaign_id` | `string \| any \| null` | No | — |
| `company_id` | `number \| string` | Yes | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `id` | `string` | Yes | — |
| `import_id` | `string` | Yes | — |
| `import_results` | `object` | No | — |
| `key` | `string` | Yes | — |
| `listview_id` | `string \| any \| null` | No | — |
| `object_mapping_id` | `string \| any \| null` | No | — |
| `sobject_type` | `Lead \| Contact \| Opportunity \| Account \| string` | No | — |
| `state` | `pending \| active \| complete \| error \| string` | No | — |
| `strategy` | `skip \| merge \| string` | No | — |

> [accordion] import\_results full type
>
> ```ts theme={null}
> {
>   collisions?: number | string,
>   created?: number | string,
>   duplicates?: number | string,
>   failed_batches?: number | string,
>   skipped?: number | string,
>   total?: number | string,
>   updated?: number | string
> }
> ```

***

### updateSalesforceObjectMapping

`powerdialer.updateSalesforceObjectMapping`

Update Salesforce Object Mapping. Update an existing Salesforce object mapping

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.updateSalesforceObjectMapping({ path: {"object_mapping_id":"sample-value"}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   object_mapping_id: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   campaign_id?: string | any | null,
>   custom_mapping?: {
>   },
>   lead_mapping?: {
>   },
>   sobject_type?: string | any | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `campaign_id` | `string \| any \| null` | No | — |
| `company_id` | `number \| string` | Yes | — |
| `custom_mapping` | `Record<string, string>` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `lead_mapping` | `Record<string, do_not_import \| first_name \| last_name \| job_title \| industry \| role \| department \| external_id \| timezone \| lang \| primary_phone \| secondary_phone \| primary_email \| secondary_email \| address_name \| address_line1 \| address_line2 \| city \| region \| postal_code \| country \| company_name \| company_phone \| company_address_line1 \| company_address_line2 \| company_city \| company_region \| company_postal_code \| company_country \| company_sic_code \| company_naics_code \| company_blacklisted \| company_annual_revenue \| company_currency \| company_num_employees \| primary_phone_fallback \| string>` | No | — |
| `object_mapping_id` | `string` | Yes | — |
| `sobject_type` | `string \| any \| null` | No | — |
| `tags` | `any[]` | No | — |

***

### updateServiceAccount

`powerdialer.updateServiceAccount`

Update Service Account. Rename a service account or change its role. Company admins only

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.updateServiceAccount({ path: {"account_id":"sample-value"}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   account_id: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   name?: string | any | null,
>   role?: admin | read_only | any | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `string` | No | — |
| `company_key` | `string` | No | — |
| `csr_permissions` | `any[]` | No | — |
| `csr_roles` | `any[]` | No | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `dialpad_user_id` | `number \| string \| any \| null` | No | — |
| `experiments` | `any[]` | No | — |
| `id` | `string` | Yes | — |
| `is_company_admin` | `boolean` | No | — |
| `is_default` | `boolean` | No | — |
| `key` | `string` | Yes | — |
| `name` | `string` | Yes | — |
| `office_id` | `number \| string \| any \| null` | No | — |
| `role` | `admin \| read_only \| string` | No | — |
| `roles` | `any[]` | No | — |
| `target_key` | `string` | No | — |
| `user_id` | `string` | No | — |
| `user_key` | `string` | No | — |

***

### updateStaticList

`powerdialer.updateStaticList`

Update Static List. Update a Static List with leads

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.updateStaticList({ path: {"static_list_id":"sample-value"}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   static_list_id: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   action?: add | delete | any | null,
>   lead_ids?: string[] | any | null,
>   name?: string | any | null,
>   query?: {
>   } | any | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `author_dp_key` | `string \| any \| null` | No | — |
| `author_id` | `string` | No | — |
| `author_key` | `string` | No | — |
| `company_id` | `number \| string` | Yes | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `date_query` | `number \| string` | No | — |
| `date_query_iso` | `string` | No | — |
| `id` | `string` | Yes | — |
| `key` | `string` | Yes | — |
| `last_query` | `object \| < \| >= \| <= \| ^= \| $= \| !! \| ~~ \| string, value?: string \| number \| string \| any \| null }` | No | — |
| `name` | `string \| any \| null` | No | — |
| `num_manual_rows` | `number \| string` | No | — |
| `num_rows` | `string \| any \| null` | No | — |
| `num_snapshot_rows` | `number \| string` | No | — |
| `sort_name` | `string \| any \| null` | No | — |
| `state` | `active \| importing \| clearing \| error \| string` | No | — |
| `static_list_id` | `string` | Yes | — |
| `tags` | `any[]` | No | — |

> [accordion] last\_query full type
>
> ```ts theme={null}
> {
>   field: string,
>   op: = | ~= | != |
> > | < |>= | <= | ^= | $= | !! | ~~ | string, value?: string | number | string | any | null} | {
>   combiner: AND | OR | string,
>   conditions: (any | any)[]
> }
> ```

***

### updateWorker

`powerdialer.updateWorker`

Update Worker. Update a Worker

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.powerdialer.updateWorker({ path: {"worker_id":"sample-value"}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   worker_id: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   action?: heal
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `campaign_id` | `string` | Yes | — |
| `company_id` | `number \| string` | Yes | — |
| `date_created` | `number \| string` | No | — |
| `date_created_iso` | `string` | No | — |
| `date_expiration` | `number \| string` | No | — |
| `date_expiration_iso` | `string` | No | — |
| `date_modified` | `number \| string` | No | — |
| `date_modified_iso` | `string` | No | — |
| `id` | `string` | Yes | — |
| `is_temporary` | `boolean` | No | — |
| `item_id` | `string \| any \| null` | No | — |
| `item_key` | `string` | No | — |
| `key` | `string` | Yes | — |
| `state` | `string` | No | — |
| `tags` | `any[]` | No | — |
| `worker_id` | `string` | Yes | — |

***

## Recording Share Link

### create

`recording_share_link.create`

Recording Sharelink -- Create. Creates a recording share link. Rate limit: 100 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.recording_share_link.create({ body: {"recording_id":"sample-value","recording_type":"admincallrecording"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   privacy?: admin | company | owner | public | null,
>   recording_id: string,
>   recording_type: admincallrecording | callrecording | voicemail
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `access_link` | `string \| null` | No | — |
| `call_id` | `number \| string \| null` | No | — |
| `created_by_id` | `number \| string \| null` | No | — |
| `date_added` | `string \| null` | No | — |
| `id` | `string \| null` | No | — |
| `item_id` | `string \| null` | No | — |
| `privacy` | `admin \| company \| owner \| public \| string \| null` | No | — |
| `type` | `admincallrecording \| callrecording \| voicemail \| string \| null` | No | — |

***

### delete

`recording_share_link.delete`

Recording Sharelink -- Delete. Deletes a recording share link by id. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.recording_share_link.delete({ path: {"id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `access_link` | `string \| null` | No | — |
| `call_id` | `number \| string \| null` | No | — |
| `created_by_id` | `number \| string \| null` | No | — |
| `date_added` | `string \| null` | No | — |
| `id` | `string \| null` | No | — |
| `item_id` | `string \| null` | No | — |
| `privacy` | `admin \| company \| owner \| public \| string \| null` | No | — |
| `type` | `admincallrecording \| callrecording \| voicemail \| string \| null` | No | — |

***

### get

`recording_share_link.get`

Recording Sharelink -- Get. Gets a recording share link by id. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.recording_share_link.get({ path: {"id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `access_link` | `string \| null` | No | — |
| `call_id` | `number \| string \| null` | No | — |
| `created_by_id` | `number \| string \| null` | No | — |
| `date_added` | `string \| null` | No | — |
| `id` | `string \| null` | No | — |
| `item_id` | `string \| null` | No | — |
| `privacy` | `admin \| company \| owner \| public \| string \| null` | No | — |
| `type` | `admincallrecording \| callrecording \| voicemail \| string \| null` | No | — |

***

### update

`recording_share_link.update`

Recording Sharelink -- Update. Updates a recording share link by id. Rate limit: 100 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.recording_share_link.update({ path: {"id":"sample-value"}, body: {"privacy":"admin"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   privacy: admin | company | owner | public
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `access_link` | `string \| null` | No | — |
| `call_id` | `number \| string \| null` | No | — |
| `created_by_id` | `number \| string \| null` | No | — |
| `date_added` | `string \| null` | No | — |
| `id` | `string \| null` | No | — |
| `item_id` | `string \| null` | No | — |
| `privacy` | `admin \| company \| owner \| public \| string \| null` | No | — |
| `type` | `admincallrecording \| callrecording \| voicemail \| string \| null` | No | — |

***

## Recordings

### admin\_call.download

`recordings.admin_call.download`

Admin Call Recording -- Download. Downloads an admin recording through its share-link ID as a bounded base64 result.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.recordings.admin_call.download({ path: {"share_link_id":"share-link-123"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

Admin recordings cannot be downloaded from their browser-only URL. Create a recording share link first and pass its ID here; the plugin returns the bytes in the bounded base64 result envelope.

> [accordion] path full type
>
> ```ts theme={null}
> {
>   share_link_id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `kind` | `binary` | Yes | — |
| `contentType` | `string` | Yes | — |
| `base64` | `string` | Yes | — |
| `sizeBytes` | `number` | Yes | — |

***

### call.download

`recordings.call.download`

Call Recording -- Download. Downloads completed call audio as a bounded base64 result; requires recordings\_export scope.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.recordings.call.download({ path: {"recording_id":"6086754856781234"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

Requires the `recordings_export` scope. The guide documents successful downloads as audio/mpeg; the plugin returns the raw bytes in the same bounded base64 result envelope as report downloads.

> [accordion] path full type
>
> ```ts theme={null}
> {
>   recording_id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `kind` | `binary` | Yes | — |
| `contentType` | `string` | Yes | — |
| `base64` | `string` | Yes | — |
| `sizeBytes` | `number` | Yes | — |

***

### voicemail.download

`recordings.voicemail.download`

Voicemail Recording -- Download. Downloads voicemail audio as a bounded base64 result; requires recordings\_export scope.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.recordings.voicemail.download({ path: {"recording_id":"6086754856787890"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

Requires the `recordings_export` scope. The guide documents successful downloads as audio/mpeg; the plugin returns the raw bytes in the same bounded base64 result envelope as report downloads.

> [accordion] path full type
>
> ```ts theme={null}
> {
>   recording_id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `kind` | `binary` | Yes | — |
| `contentType` | `string` | Yes | — |
| `base64` | `string` | Yes | — |
| `sizeBytes` | `number` | Yes | — |

***

## Reports

### scheduledstats.download

`reports.scheduledstats.download`

Report Download API -- Download scheduled stats. Downloads the requested scheduled report when available. The official page documents the report type user\_voiceline and a YYYY-MM-DD date, but does not publish a success content type or response schema; the plugin returns the report bytes in a validated base64 envelope.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.reports.scheduledstats.download({ query: {"t":"user_voiceline","d":"2024-06-01"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | Yes | — |

The official Report Download API page does not specify the successful response media type or maximum report size. The plugin returns bytes as `{ kind: 'binary', contentType, base64, sizeBytes }`, with a 25 MiB client safety cap and 20-second timeout. The `t` field currently accepts the only documented report type, `user_voiceline`.

> [accordion] query full type
>
> ```ts theme={null}
> {
>   t: user_voiceline,
>   d: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `kind` | `binary` | Yes | — |
| `contentType` | `string` | Yes | — |
| `base64` | `string` | Yes | — |
| `sizeBytes` | `number` | Yes | — |

***

## Rooms

### delete

`rooms.delete`

Room -- Delete. Deletes a room by id. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.rooms.delete({ path: {"id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `number \| string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `image_url` | `string \| null` | No | — |
| `is_free` | `boolean \| null` | No | — |
| `is_on_duty` | `boolean \| null` | No | — |
| `name` | `string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `phone_numbers` | `string[] \| null` | No | — |
| `state` | `active \| cancelled \| deleted \| pending \| suspended \| string \| null` | No | — |

***

### get

`rooms.get`

Room -- Get. Gets a room by id. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.rooms.get({ path: {"id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `number \| string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `image_url` | `string \| null` | No | — |
| `is_free` | `boolean \| null` | No | — |
| `is_on_duty` | `boolean \| null` | No | — |
| `name` | `string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `phone_numbers` | `string[] \| null` | No | — |
| `state` | `active \| cancelled \| deleted \| pending \| suspended \| string \| null` | No | — |

***

### list

`rooms.list`

Room -- List. Gets all rooms in your company, optionally filtering by office. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.rooms.list({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   cursor?: string,
>   office_id?: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   company_id?: number | string | null,
>   country?: string | null,
>   id?: number | string | null,
>   image_url?: string | null,
>   is_free?: boolean | null,
>   is_on_duty?: boolean | null,
>   name?: string | null,
>   office_id?: number | string | null,
>   phone_numbers?: string[] | null,
>   state?: active | cancelled | deleted | pending | suspended | string | null
> }[] | null
> ```

***

### patch

`rooms.patch`

Room -- Update. Updates room details by id. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.rooms.patch({ path: {"id":1}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   name?: string | null,
>   phone_numbers?: string[] | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `number \| string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `image_url` | `string \| null` | No | — |
| `is_free` | `boolean \| null` | No | — |
| `is_on_duty` | `boolean \| null` | No | — |
| `name` | `string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `phone_numbers` | `string[] \| null` | No | — |
| `state` | `active \| cancelled \| deleted \| pending \| suspended \| string \| null` | No | — |

***

### post

`rooms.post`

Room -- Create. Creates a new room. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.rooms.post({ body: {"name":"sample-value","office_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   name: string,
>   office_id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `company_id` | `number \| string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `image_url` | `string \| null` | No | — |
| `is_free` | `boolean \| null` | No | — |
| `is_on_duty` | `boolean \| null` | No | — |
| `name` | `string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `phone_numbers` | `string[] \| null` | No | — |
| `state` | `active \| cancelled \| deleted \| pending \| suspended \| string \| null` | No | — |

***

## Schedule Reports

### create

`schedule_reports.create`

schedule reports -- Create. Creates a schedule reports subscription for your company. An endpoint\_id is required in order to receive the event payload and can be obtained via websockets or webhooks. A schedule reports is a mechanism to schedule daily, weekly or monthly record and statistics reports. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.schedule_reports.create({ body: {"at":1,"endpoint_id":1,"frequency":"daily","name":"sample-value","on_day":1,"report_type":"call_logs"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   at: number | string,
>   coaching_group?: boolean | null,
>   enabled?: boolean | null,
>   endpoint_id: number | string,
>   frequency: daily | monthly | weekly,
>   name: string,
>   on_day: number | string,
>   report_type: call_logs | daily_statistics | recordings | user_statistics | voicemails,
>   target_id?: number | string | null,
>   target_type?: callcenter | callrouter | channel | coachinggroup | coachingteam | department | office | room | staffgroup | unknown | user | null,
>   timezone?: string | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `at` | `number \| string \| null` | No | — |
| `coaching_group` | `boolean \| null` | No | — |
| `enabled` | `boolean \| null` | No | — |
| `frequency` | `string \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `name` | `string \| null` | No | — |
| `on_day` | `number \| string \| null` | No | — |
| `report_type` | `call_logs \| daily_statistics \| recordings \| user_statistics \| voicemails \| string` | Yes | — |
| `target_id` | `number \| string \| null` | No | — |
| `target_type` | `callcenter \| callrouter \| channel \| coachinggroup \| coachingteam \| company \| department \| office \| room \| staffgroup \| unknown \| user \| string \| null` | No | — |
| `timezone` | `string \| null` | No | — |
| `webhook` | `object` | No | — |
| `websocket` | `object` | No | — |

> [accordion] webhook full type
>
> ```ts theme={null}
> {
>   hook_url?: string | null,
>   id?: number | string | null,
>   signature?: {
>     algo?: string | null,
>     secret?: string | null,
>     type?: string | null
>   }
> }
> ```

> [accordion] websocket full type
>
> ```ts theme={null}
> {
>   id?: number | string | null,
>   signature?: {
>     algo?: string | null,
>     secret?: string | null,
>     type?: string | null
>   },
>   websocket_url?: string | null
> }
> ```

***

### delete

`schedule_reports.delete`

Schedule reports -- Delete. Deletes a schedule report subscription by id. A schedule report is a mechanism to schedule daily, weekly or monthly record and statistics reports. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.schedule_reports.delete({ path: {"id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `at` | `number \| string \| null` | No | — |
| `coaching_group` | `boolean \| null` | No | — |
| `enabled` | `boolean \| null` | No | — |
| `frequency` | `string \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `name` | `string \| null` | No | — |
| `on_day` | `number \| string \| null` | No | — |
| `report_type` | `call_logs \| daily_statistics \| recordings \| user_statistics \| voicemails \| string` | Yes | — |
| `target_id` | `number \| string \| null` | No | — |
| `target_type` | `callcenter \| callrouter \| channel \| coachinggroup \| coachingteam \| company \| department \| office \| room \| staffgroup \| unknown \| user \| string \| null` | No | — |
| `timezone` | `string \| null` | No | — |
| `webhook` | `object` | No | — |
| `websocket` | `object` | No | — |

> [accordion] webhook full type
>
> ```ts theme={null}
> {
>   hook_url?: string | null,
>   id?: number | string | null,
>   signature?: {
>     algo?: string | null,
>     secret?: string | null,
>     type?: string | null
>   }
> }
> ```

> [accordion] websocket full type
>
> ```ts theme={null}
> {
>   id?: number | string | null,
>   signature?: {
>     algo?: string | null,
>     secret?: string | null,
>     type?: string | null
>   },
>   websocket_url?: string | null
> }
> ```

***

### get

`schedule_reports.get`

Schedule reports -- Get. Gets a schedule report subscription by id. A schedule report is a mechanism to schedule daily, weekly or monthly record and statistics reports. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.schedule_reports.get({ path: {"id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `at` | `number \| string \| null` | No | — |
| `coaching_group` | `boolean \| null` | No | — |
| `enabled` | `boolean \| null` | No | — |
| `frequency` | `string \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `name` | `string \| null` | No | — |
| `on_day` | `number \| string \| null` | No | — |
| `report_type` | `call_logs \| daily_statistics \| recordings \| user_statistics \| voicemails \| string` | Yes | — |
| `target_id` | `number \| string \| null` | No | — |
| `target_type` | `callcenter \| callrouter \| channel \| coachinggroup \| coachingteam \| company \| department \| office \| room \| staffgroup \| unknown \| user \| string \| null` | No | — |
| `timezone` | `string \| null` | No | — |
| `webhook` | `object` | No | — |
| `websocket` | `object` | No | — |

> [accordion] webhook full type
>
> ```ts theme={null}
> {
>   hook_url?: string | null,
>   id?: number | string | null,
>   signature?: {
>     algo?: string | null,
>     secret?: string | null,
>     type?: string | null
>   }
> }
> ```

> [accordion] websocket full type
>
> ```ts theme={null}
> {
>   id?: number | string | null,
>   signature?: {
>     algo?: string | null,
>     secret?: string | null,
>     type?: string | null
>   },
>   websocket_url?: string | null
> }
> ```

***

### list

`schedule_reports.list`

Schedule reports -- List. Lists all schedule reports subscription for a company. A schedule report is a mechanism to schedule daily, weekly or monthly record and statistics reports. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.schedule_reports.list({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   cursor?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   at?: number | string | null,
>   coaching_group?: boolean | null,
>   enabled?: boolean | null,
>   frequency?: string | null,
>   id?: number | string | null,
>   name?: string | null,
>   on_day?: number | string | null,
>   report_type: call_logs | daily_statistics | recordings | user_statistics | voicemails | string,
>   target_id?: number | string | null,
>   target_type?: callcenter | callrouter | channel | coachinggroup | coachingteam | company | department | office | room | staffgroup | unknown | user | string | null,
>   timezone?: string | null,
>   webhook?: {
>     hook_url?: string | null,
>     id?: number | string | null,
>     signature?: {
>       algo?: string | null,
>       secret?: string | null,
>       type?: string | null
>     }
>   },
>   websocket?: {
>     id?: number | string | null,
>     signature?: {
>       algo?: string | null,
>       secret?: string | null,
>       type?: string | null
>     },
>     websocket_url?: string | null
>   }
> }[] | null
> ```

***

### update

`schedule_reports.update`

Schedule reports -- Update. Updates a schedule report subscription by id. A schedule report is a mechanism to schedule daily, weekly or monthly record and statistics reports. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.schedule_reports.update({ path: {"id":1}, body: {"at":1,"endpoint_id":1,"frequency":"daily","name":"sample-value","on_day":1,"report_type":"call_logs"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   at: number | string,
>   coaching_group?: boolean | null,
>   enabled?: boolean | null,
>   endpoint_id: number | string,
>   frequency: daily | monthly | weekly,
>   name: string,
>   on_day: number | string,
>   report_type: call_logs | daily_statistics | recordings | user_statistics | voicemails,
>   target_id?: number | string | null,
>   target_type?: callcenter | callrouter | channel | coachinggroup | coachingteam | department | office | room | staffgroup | unknown | user | null,
>   timezone?: string | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `at` | `number \| string \| null` | No | — |
| `coaching_group` | `boolean \| null` | No | — |
| `enabled` | `boolean \| null` | No | — |
| `frequency` | `string \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `name` | `string \| null` | No | — |
| `on_day` | `number \| string \| null` | No | — |
| `report_type` | `call_logs \| daily_statistics \| recordings \| user_statistics \| voicemails \| string` | Yes | — |
| `target_id` | `number \| string \| null` | No | — |
| `target_type` | `callcenter \| callrouter \| channel \| coachinggroup \| coachingteam \| company \| department \| office \| room \| staffgroup \| unknown \| user \| string \| null` | No | — |
| `timezone` | `string \| null` | No | — |
| `webhook` | `object` | No | — |
| `websocket` | `object` | No | — |

> [accordion] webhook full type
>
> ```ts theme={null}
> {
>   hook_url?: string | null,
>   id?: number | string | null,
>   signature?: {
>     algo?: string | null,
>     secret?: string | null,
>     type?: string | null
>   }
> }
> ```

> [accordion] websocket full type
>
> ```ts theme={null}
> {
>   id?: number | string | null,
>   signature?: {
>     algo?: string | null,
>     secret?: string | null,
>     type?: string | null
>   },
>   websocket_url?: string | null
> }
> ```

***

## Scheduled Messages

### create

`scheduled_messages.create`

Schedule -- Create. Creates a new scheduled message that will be sent at the specified time. Messages can be sent to multiple phone numbers OR to a Dialpad channel. Supports both SMS (text only) and MMS (text with media attachments). Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.scheduled_messages.create({ body: {"start_date":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   channel_hashtag?: string | null,
>   from_number?: string | null,
>   is_bulk?: boolean | null,
>   media?: string | null,
>   start_date: number | string,
>   text?: string | null,
>   timezone?: string | null,
>   to_numbers?: string[] | null,
>   user_id?: number | string | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `channel_hashtag` | `string \| null` | No | — |
| `created_date` | `number \| string \| null` | No | — |
| `from_number` | `string \| null` | No | — |
| `media` | `string \| null` | No | — |
| `schedule_id` | `string \| null` | No | — |
| `scheduled_time` | `number \| string \| null` | No | — |
| `status` | `active \| deleted \| sent \| string \| null` | No | — |
| `text` | `string \| null` | No | — |
| `timezone` | `string \| null` | No | — |
| `to_numbers` | `string[] \| null` | No | — |
| `user_id` | `number \| string \| null` | No | — |

***

### delete

`scheduled_messages.delete`

Schedule -- Delete. Deletes (cancels) a scheduled message. The message will not be sent. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.scheduled_messages.delete({ path: {"id":"sample-value"}, query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `query` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

> [accordion] query full type
>
> ```ts theme={null}
> {
>   user_id?: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `message` | `string \| null` | No | — |
| `schedule_id` | `string \| null` | No | — |
| `success` | `boolean \| null` | No | — |

***

### get

`scheduled_messages.get`

Schedule -- Get. Gets a single scheduled message by ID. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.scheduled_messages.get({ path: {"id":"sample-value"}, query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `query` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

> [accordion] query full type
>
> ```ts theme={null}
> {
>   user_id?: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `channel_hashtag` | `string \| null` | No | — |
| `created_date` | `number \| string \| null` | No | — |
| `from_number` | `string \| null` | No | — |
| `media` | `string \| null` | No | — |
| `schedule_id` | `string \| null` | No | — |
| `scheduled_time` | `number \| string \| null` | No | — |
| `status` | `active \| deleted \| sent \| string \| null` | No | — |
| `text` | `string \| null` | No | — |
| `timezone` | `string \| null` | No | — |
| `to_numbers` | `string[] \| null` | No | — |
| `user_id` | `number \| string \| null` | No | — |

***

### list

`scheduled_messages.list`

Schedule -- List. Lists all active scheduled messages for the authenticated user. Only active (pending) schedules are returned. Deleted or sent schedules are not included. Results can be paginated using the cursor parameter. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.scheduled_messages.list({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   limit?: number | string,
>   user_id?: number | string,
>   cursor?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `has_more` | `boolean \| null` | No | — |
| `schedules` | `object[] \| null` | No | — |

> [accordion] schedules full type
>
> ```ts theme={null}
> {
>   channel_hashtag?: string | null,
>   created_date?: number | string | null,
>   from_number?: string | null,
>   media?: string | null,
>   schedule_id?: string | null,
>   scheduled_time?: number | string | null,
>   status?: active | deleted | sent | string | null,
>   text?: string | null,
>   timezone?: string | null,
>   to_numbers?: string[] | null,
>   user_id?: number | string | null
> }[] | null
> ```

***

### send\_now

`scheduled_messages.send_now`

Schedule -- Send Now. Immediately sends a scheduled message and deletes the schedule. This is useful for testing or when you want to send a scheduled message before its scheduled time. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.scheduled_messages.send_now({ path: {"id":"sample-value"}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   user_id?: number | string | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `message` | `string \| null` | No | — |
| `schedule_id` | `string \| null` | No | — |
| `success` | `boolean \| null` | No | — |

***

### update

`scheduled_messages.update`

Schedule -- Update. Updates an existing scheduled message. Supports partial updates. Only the fields provided in the request will be updated. Fields not provided will retain their existing values. This follows PATCH semantics. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.scheduled_messages.update({ path: {"id":"sample-value"}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   channel_hashtag?: string | null,
>   from_number?: string | null,
>   media?: string | null,
>   start_date?: number | string | null,
>   text?: string | null,
>   timezone?: string | null,
>   to_numbers?: string[] | null,
>   user_id?: number | string | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `channel_hashtag` | `string \| null` | No | — |
| `created_date` | `number \| string \| null` | No | — |
| `from_number` | `string \| null` | No | — |
| `media` | `string \| null` | No | — |
| `schedule_id` | `string \| null` | No | — |
| `scheduled_time` | `number \| string \| null` | No | — |
| `status` | `active \| deleted \| sent \| string \| null` | No | — |
| `text` | `string \| null` | No | — |
| `timezone` | `string \| null` | No | — |
| `to_numbers` | `string[] \| null` | No | — |
| `user_id` | `number \| string \| null` | No | — |

***

## Scorecards

### export.create

`scorecards.export.create`

Scorecards export -- Initiate Processing. Begins processing a scorecards export asynchronously, returning a request id to get the status and retrieve the results by calling GET /scorecards/export/\{request\_id}. Scorecards for the whole company will be processed by default. A target\_id and target\_type can be provided to limit the export to a single target. Rate limit: 250 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.scorecards.export.create({ body: {"scorecards_type":"scorecard_export_agent_leaderboard"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   days_ago_end?: number | string | null,
>   days_ago_start?: number | string | null,
>   graded_days_ago_end?: number | string | null,
>   graded_days_ago_start?: number | string | null,
>   scorecard_grader_id?: number | string | null,
>   scorecard_ids?: (number | string)[] | null,
>   scorecards_type: scorecard_export_agent_leaderboard | scorecard_export_calls | scorecard_export_calls_questions | scorecard_export_leaderboard | scorecard_export_teamgroup_leaderboard,
>   send_to?: string | null,
>   target_id?: number | string | null,
>   target_type?: callcenter | coachingteam | office | unknown | user | null,
>   timezone?: string | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `request_id` | `string \| null` | No | — |
| `status` | `complete \| failed \| processing \| string \| null` | No | — |

***

### export.get

`scorecards.export.get`

Scorecards export -- Get Result. Gets the progress and result of a scorecards report request. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.scorecards.export.get({ path: {"id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `download_url` | `string \| null` | No | — |
| `file_type` | `string \| null` | No | — |
| `reason` | `string \| null` | No | — |
| `status` | `complete \| failed \| processing \| string \| null` | No | — |

***

### get

`scorecards.get`

Scorecards -- Get. Gets a scorecard by id. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.scorecards.get({ path: {"id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `category` | `string[] \| null` | No | — |
| `date_created` | `string \| null` | No | — |
| `date_modified` | `string \| null` | No | — |
| `has_ai_question` | `boolean \| null` | No | — |
| `id` | `number \| string` | Yes | — |
| `name` | `string` | Yes | — |
| `questions` | `object[] \| null` | No | — |
| `state` | `active \| archived \| draft \| string \| null` | No | — |

> [accordion] questions full type
>
> ```ts theme={null}
> {
>   id: number | string,
>   options?: {
>   } | null,
>   text: string,
>   type: likertAgreement | likertFrequency | likertImportance | likertLikelihood | likertQuality | multipleChoice | yesNo | string
> }[] | null
> ```

***

### list

`scorecards.list`

Scorecards -- List. Gets a list of scorecards of a target. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.scorecards.list({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   cursor?: string,
>   state?: active | archived | draft,
>   target_id?: number | string,
>   target_type?: callcenter | coachingteam | office | unknown
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   category?: string[] | null,
>   date_created?: string | null,
>   date_modified?: string | null,
>   has_ai_question?: boolean | null,
>   id: number | string,
>   name: string,
>   questions?: {
>     id: number | string,
>     options?: {
>     } | null,
>     text: string,
>     type: likertAgreement | likertFrequency | likertImportance | likertLikelihood | likertQuality | multipleChoice | yesNo | string
>   }[] | null,
>   state?: active | archived | draft | string | null
> }[] | null
> ```

***

## Screen Pop

### initiate

`screen_pop.initiate`

Screen-pop -- Trigger. Opens the given URI on the user's active Dialpad device, so an agent sees the relevant record (CRM contact, ticket, order) without searching for it. Returns the device the pop was delivered to. Requires the `screen_pop` OAuth scope. Requires scope: `screen_pop` Rate limit: 5 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.screen_pop.initiate({ path: {"id":1}, body: {"screen_pop_uri":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   screen_pop_uri: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `device` | `object` | No | — |

> [accordion] device full type
>
> ```ts theme={null}
> {
>   app_version?: string | null,
>   date_created?: string | null,
>   date_registered?: string | null,
>   date_updated?: string | null,
>   display_name?: string | null,
>   id?: string | null,
>   phone_number?: string | null,
>   type?: android | ata | audiocodes | c2t | ciscompp | dect | dpmroom | grandstream | harness | iframe_cti_extension | iframe_cti_v2 | iframe_front | iframe_hubspot | iframe_ms_teams | iframe_open_cti | iframe_salesforce | iframe_service_titan | iframe_zendesk | iframe_zoho | ipad | iphone | mini | mitel | msteams | native | obi | packaged_app | polyandroid | polycom | polyedgee | proxy | public_api | salesforce | sip | tickiot | web | yealink | string | null,
>   user_id?: number | string | null
> }
> ```

***

## Search

### users

`search.users`

User -- Search. Searches for users matching a specific criteria. It matches phone numbers, emails, or name. Optionally, it accepts filters to reduce the amount of final results. - The `cursor` value is provided in the response, and can be passed as a parameter to retrieve subsequent pages of results. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.search.users({ query: {"query":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | Yes | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   query: string,
>   cursor?: string,
>   filter?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   admin_office_ids?: (number | string)[] | null,
>   company_id?: number | string | null,
>   country?: string | null,
>   date_active?: string | null,
>   date_added?: string | null,
>   date_first_login?: string | null,
>   date_last_login?: string,
>   display_name?: string | null,
>   do_not_disturb?: boolean | null,
>   duty_status_reason?: string | null,
>   duty_status_started?: string | null,
>   emails?: string[] | null,
>   extension?: string | null,
>   first_name?: string | null,
>   forwarding_numbers?: string[] | null,
>   group_details?: {
>     do_not_disturb?: boolean | null,
>     group_id?: number | string | null,
>     group_type?: callcenter | callrouter | channel | coachinggroup | coachingteam | department | office | room | staffgroup | unknown | user | string | null,
>     role?: admin | operator | supervisor | string | null
>   }[] | null,
>   id?: number | string | null,
>   image_url?: string | null,
>   international_dialing_enabled?: boolean | null,
>   is_admin?: boolean | null,
>   is_available?: boolean | null,
>   is_company_admin?: boolean | null,
>   is_on_duty?: boolean | null,
>   is_online?: boolean | null,
>   is_super_admin?: boolean | null,
>   job_title?: string | null,
>   language?: string | null,
>   last_name?: string | null,
>   license?: admins | agents | dpde_all | dpde_one | lite_lines | lite_support_agents | magenta_lines | talk | user | string | null,
>   location?: string | null,
>   muted?: boolean | null,
>   office_id?: number | string | null,
>   on_duty_started?: string | null,
>   on_duty_status?: available | busy | occupied | occupied-end | unavailable | wrapup | wrapup-end | string | null,
>   onboarding_completed: boolean,
>   phone_numbers?: string[] | null,
>   remote_service?: string | null,
>   session_type?: call | digital | string | null,
>   state?: active | cancelled | deleted | pending | suspended | string | null,
>   status_message?: string | null,
>   timezone?: string | null,
>   voicemail: {
>     is_default_voicemail?: boolean,
>     name?: string | null,
>     voicemail_notifications_enabled?: boolean
>   }
> }[] | null
> ```

***

## Sms

### send

`sms.send`

SMS -- Send. Sends an SMS message to a phone number or to a Dialpad channel on behalf of a user. Provide either to\_numbers or channel\_hashtag as the recipient, and either text or media as the content. A channel's hashtag is available from the channel endpoints. Tier 0 Rate limit: 100 per minute. Tier 1 Rate limit: 800 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.sms.send({ body: {"to_numbers":["+14155557777"],"text":"Test text","user_id":2} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   channel_hashtag?: string | null,
>   from_number?: string | null,
>   infer_country_code?: boolean | null,
>   media?: string | null,
>   sender_group_id?: number | string | null,
>   sender_group_type?: callcenter | department | office | null,
>   text?: string | null,
>   to_numbers?: string[] | null,
>   user_id?: number | string | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `contact_id` | `string \| null` | No | — |
| `created_date` | `string \| null` | No | — |
| `device_type` | `android \| ata \| audiocodes \| c2t \| ciscompp \| dect \| dpmroom \| grandstream \| harness \| iframe_cti_extension \| iframe_cti_v2 \| iframe_front \| iframe_hubspot \| iframe_ms_teams \| iframe_open_cti \| iframe_salesforce \| iframe_service_titan \| iframe_zendesk \| iframe_zoho \| ipad \| iphone \| mini \| mitel \| msteams \| native \| obi \| packaged_app \| polyandroid \| polycom \| polyedgee \| proxy \| public_api \| salesforce \| sip \| tickiot \| web \| yealink \| string \| null` | No | — |
| `direction` | `inbound \| outbound \| string \| null` | No | — |
| `from_number` | `string \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `message_delivery_result` | `accepted \| internal_error \| invalid_destination \| invalid_source \| no_route \| not_supported \| rejected \| rejected_spam \| rejected_spam_internal \| time_out \| string \| null` | No | — |
| `message_status` | `failed \| pending \| success \| string \| null` | No | — |
| `target_id` | `number \| string \| null` | No | — |
| `target_type` | `callcenter \| callrouter \| channel \| coachinggroup \| coachingteam \| department \| office \| room \| staffgroup \| unknown \| user \| string \| null` | No | — |
| `text` | `string \| null` | No | — |
| `to_numbers` | `string[] \| null` | No | — |
| `user_id` | `number \| string \| null` | No | — |

***

## Stats

### export.create

`stats.export.create`

Stats -- Initiate Processing. Begins processing statistics asynchronously, returning a request id to get the status and retrieve the results by calling GET /stats/\{request\_id}. Stats for the whole company will be processed by default. An office\_id can be provided to limit stats to a single office. A target\_id and target\_type can be provided to limit stats to a single target. Rate limit: 200 per hour.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.stats.export.create({ body: {"export_type":"records","stat_type":"calls"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   coaching_group?: boolean | null,
>   coaching_team?: boolean | null,
>   days_ago_end?: number | string | null,
>   days_ago_start?: number | string | null,
>   export_type: records | stats,
>   group_by?: date | group | user | null,
>   is_today?: boolean | null,
>   office_id?: number | string | null,
>   stat_type: calls | csat | dispositions | onduty | recordings | screenshare | texts | voicemails,
>   target_id?: number | string | null,
>   target_type?: callcenter | coachinggroup | coachingteam | department | office | room | staffgroup | unknown | user | null,
>   timezone?: string | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `already_started` | `boolean \| null` | No | — |
| `request_id` | `string \| null` | No | — |

***

### export.get

`stats.export.get`

Stats -- Get Result. Gets the progress and result of a statistics request. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.stats.export.get({ path: {"id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `download_url` | `string \| null` | No | — |
| `file_type` | `string \| null` | No | — |
| `reason` | `string \| null` | No | — |
| `status` | `complete \| failed \| processing \| string \| null` | No | — |

***

## Transcripts

### get

`transcripts.get`

Call Transcript -- Get. Gets the Dialpad AI transcript of a call, including moments. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.transcripts.get({ path: {"call_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   call_id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `call_id` | `number \| string \| null` | No | — |
| `lines` | `object[] \| null` | No | — |

> [accordion] lines full type
>
> ```ts theme={null}
> {
>   contact_id?: string | null,
>   content?: string | null,
>   name?: string | null,
>   time?: string | null,
>   type?: ai_question | custom_moment | moment | real_time_moment | transcript | string | null,
>   user_id?: number | string | null
> }[] | null
> ```

***

### get\_url

`transcripts.get_url`

Call Transcript -- Get URL. Gets the transcript url of a call. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.transcripts.get_url({ path: {"call_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   call_id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `call_id` | `number \| string \| null` | No | — |
| `url` | `string \| null` | No | — |

***

## Userdevices

### get

`userdevices.get`

User Device -- Get. Get details of a specific device including its type, display name, phone number, and registration dates. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.userdevices.get({ path: {"id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `app_version` | `string \| null` | No | — |
| `date_created` | `string \| null` | No | — |
| `date_registered` | `string \| null` | No | — |
| `date_updated` | `string \| null` | No | — |
| `display_name` | `string \| null` | No | — |
| `id` | `string \| null` | No | — |
| `phone_number` | `string \| null` | No | — |
| `type` | `android \| ata \| audiocodes \| c2t \| ciscompp \| dect \| dpmroom \| grandstream \| harness \| iframe_cti_extension \| iframe_cti_v2 \| iframe_front \| iframe_hubspot \| iframe_ms_teams \| iframe_open_cti \| iframe_salesforce \| iframe_service_titan \| iframe_zendesk \| iframe_zoho \| ipad \| iphone \| mini \| mitel \| msteams \| native \| obi \| packaged_app \| polyandroid \| polycom \| polyedgee \| proxy \| public_api \| salesforce \| sip \| tickiot \| web \| yealink \| string \| null` | No | — |
| `user_id` | `number \| string \| null` | No | — |

***

### list

`userdevices.list`

User Device -- List. List registered devices for a user, including desk phones, softphones, and mobile apps. Returns device type, display name, phone number, and registration dates. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.userdevices.list({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   cursor?: string,
>   user_id?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   app_version?: string | null,
>   date_created?: string | null,
>   date_registered?: string | null,
>   date_updated?: string | null,
>   display_name?: string | null,
>   id?: string | null,
>   phone_number?: string | null,
>   type?: android | ata | audiocodes | c2t | ciscompp | dect | dpmroom | grandstream | harness | iframe_cti_extension | iframe_cti_v2 | iframe_front | iframe_hubspot | iframe_ms_teams | iframe_open_cti | iframe_salesforce | iframe_service_titan | iframe_zendesk | iframe_zoho | ipad | iphone | mini | mitel | msteams | native | obi | packaged_app | polyandroid | polycom | polyedgee | proxy | public_api | salesforce | sip | tickiot | web | yealink | string | null,
>   user_id?: number | string | null
> }[] | null
> ```

***

## Users

### assign\_number

`users.assign_number`

Dialpad Number -- Assign. Assigns a number to a user. The number will automatically be taken from the company's reserved block if there are reserved numbers, otherwise a number will be auto-assigned from the provided area code. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.users.assign_number({ path: {"id":1}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   area_code?: string | null,
>   number?: string | null,
>   primary?: boolean | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `area_code` | `string \| null` | No | — |
| `company_id` | `number \| string \| null` | No | — |
| `deleted` | `boolean \| null` | No | — |
| `number` | `string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `status` | `available \| call_center \| call_router \| call_service \| department \| dynamic_caller \| office \| pending \| porting \| room \| shared_line \| sip_trunk \| user \| string \| null` | No | — |
| `target_id` | `number \| string \| null` | No | — |
| `target_type` | `callcenter \| callrouter \| channel \| coachinggroup \| coachingteam \| department \| office \| room \| staffgroup \| unknown \| user \| string \| null` | No | — |
| `type` | `free \| local \| mobile \| softbank \| tollfree \| string \| null` | No | — |

***

### create

`users.create`

User -- Create. Creates a new user. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.users.create({ body: {"email":"sample-value","office_id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   auto_assign?: boolean | null,
>   email: string,
>   first_name?: string | null,
>   last_name?: string | null,
>   license?: admins | agents | dpde_all | dpde_one | lite_lines | lite_support_agents | magenta_lines | talk | user | null,
>   office_id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `admin_office_ids` | `(number \| string)[] \| null` | No | — |
| `company_id` | `number \| string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `date_active` | `string \| null` | No | — |
| `date_added` | `string \| null` | No | — |
| `date_first_login` | `string \| null` | No | — |
| `date_last_login` | `string` | No | — |
| `display_name` | `string \| null` | No | — |
| `do_not_disturb` | `boolean \| null` | No | — |
| `duty_status_reason` | `string \| null` | No | — |
| `duty_status_started` | `string \| null` | No | — |
| `emails` | `string[] \| null` | No | — |
| `extension` | `string \| null` | No | — |
| `first_name` | `string \| null` | No | — |
| `forwarding_numbers` | `string[] \| null` | No | — |
| `group_details` | `object[] \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `image_url` | `string \| null` | No | — |
| `international_dialing_enabled` | `boolean \| null` | No | — |
| `is_admin` | `boolean \| null` | No | — |
| `is_available` | `boolean \| null` | No | — |
| `is_company_admin` | `boolean \| null` | No | — |
| `is_on_duty` | `boolean \| null` | No | — |
| `is_online` | `boolean \| null` | No | — |
| `is_super_admin` | `boolean \| null` | No | — |
| `job_title` | `string \| null` | No | — |
| `language` | `string \| null` | No | — |
| `last_name` | `string \| null` | No | — |
| `license` | `admins \| agents \| dpde_all \| dpde_one \| lite_lines \| lite_support_agents \| magenta_lines \| talk \| user \| string \| null` | No | — |
| `location` | `string \| null` | No | — |
| `muted` | `boolean \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `on_duty_started` | `string \| null` | No | — |
| `on_duty_status` | `available \| busy \| occupied \| occupied-end \| unavailable \| wrapup \| wrapup-end \| string \| null` | No | — |
| `onboarding_completed` | `boolean` | Yes | — |
| `phone_numbers` | `string[] \| null` | No | — |
| `remote_service` | `string \| null` | No | — |
| `session_type` | `call \| digital \| string \| null` | No | — |
| `state` | `active \| cancelled \| deleted \| pending \| suspended \| string \| null` | No | — |
| `status_message` | `string \| null` | No | — |
| `timezone` | `string \| null` | No | — |
| `voicemail` | `object` | Yes | — |

> [accordion] group\_details full type
>
> ```ts theme={null}
> {
>   do_not_disturb?: boolean | null,
>   group_id?: number | string | null,
>   group_type?: callcenter | callrouter | channel | coachinggroup | coachingteam | department | office | room | staffgroup | unknown | user | string | null,
>   role?: admin | operator | supervisor | string | null
> }[] | null
> ```

> [accordion] voicemail full type
>
> ```ts theme={null}
> {
>   is_default_voicemail?: boolean,
>   name?: string | null,
>   voicemail_notifications_enabled?: boolean
> }
> ```

***

### create\_batch

`users.create_batch`

User -- Create Batch. Creates up to 25 users in one call, for example to invite a team. Each user is created independently with the same rules as creating a single user, so a failure does not undo the users that were created before it. The response has one result per requested user, in the order sent, with either the created user or the reason it was not created. The reason code no\_seats\_available means the office has no free license of the type the user would consume. An unexpected server error ends the whole call with a 503 and no per-user results, and the users created before it stay created. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.users.create_batch({ body: {"users":[]} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   users: {
>     auto_assign?: boolean | null,
>     email: string,
>     first_name?: string | null,
>     last_name?: string | null,
>     license?: admins | agents | dpde_all | dpde_one | lite_lines | lite_support_agents | magenta_lines | talk | user | null,
>     office_id: number | string
>   }[]
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   email?: string | null,
>   error?: {
>     code?: billing_issue | domain_mismatch | invalid_email | invalid_request | no_seats_available | office_not_active | user_exists | string | null,
>     message?: string | null
>   },
>   user?: {
>     admin_office_ids?: (number | string)[] | null,
>     company_id?: number | string | null,
>     country?: string | null,
>     date_active?: string | null,
>     date_added?: string | null,
>     date_first_login?: string | null,
>     date_last_login?: string,
>     display_name?: string | null,
>     do_not_disturb?: boolean | null,
>     duty_status_reason?: string | null,
>     duty_status_started?: string | null,
>     emails?: string[] | null,
>     extension?: string | null,
>     first_name?: string | null,
>     forwarding_numbers?: string[] | null,
>     group_details?: {
>       do_not_disturb?: boolean | null,
>       group_id?: number | string | null,
>       group_type?: callcenter | callrouter | channel | coachinggroup | coachingteam | department | office | room | staffgroup | unknown | user | string | null,
>       role?: admin | operator | supervisor | string | null
>     }[] | null,
>     id?: number | string | null,
>     image_url?: string | null,
>     international_dialing_enabled?: boolean | null,
>     is_admin?: boolean | null,
>     is_available?: boolean | null,
>     is_company_admin?: boolean | null,
>     is_on_duty?: boolean | null,
>     is_online?: boolean | null,
>     is_super_admin?: boolean | null,
>     job_title?: string | null,
>     language?: string | null,
>     last_name?: string | null,
>     license?: admins | agents | dpde_all | dpde_one | lite_lines | lite_support_agents | magenta_lines | talk | user | string | null,
>     location?: string | null,
>     muted?: boolean | null,
>     office_id?: number | string | null,
>     on_duty_started?: string | null,
>     on_duty_status?: available | busy | occupied | occupied-end | unavailable | wrapup | wrapup-end | string | null,
>     onboarding_completed: boolean,
>     phone_numbers?: string[] | null,
>     remote_service?: string | null,
>     session_type?: call | digital | string | null,
>     state?: active | cancelled | deleted | pending | suspended | string | null,
>     status_message?: string | null,
>     timezone?: string | null,
>     voicemail: {
>       is_default_voicemail?: boolean,
>       name?: string | null,
>       voicemail_notifications_enabled?: boolean
>     }
>   }
> }[] | null
> ```

***

### delete

`users.delete`

User -- Delete. Deletes a user by id. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.users.delete({ path: {"id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `admin_office_ids` | `(number \| string)[] \| null` | No | — |
| `company_id` | `number \| string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `date_active` | `string \| null` | No | — |
| `date_added` | `string \| null` | No | — |
| `date_first_login` | `string \| null` | No | — |
| `date_last_login` | `string` | No | — |
| `display_name` | `string \| null` | No | — |
| `do_not_disturb` | `boolean \| null` | No | — |
| `duty_status_reason` | `string \| null` | No | — |
| `duty_status_started` | `string \| null` | No | — |
| `emails` | `string[] \| null` | No | — |
| `extension` | `string \| null` | No | — |
| `first_name` | `string \| null` | No | — |
| `forwarding_numbers` | `string[] \| null` | No | — |
| `group_details` | `object[] \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `image_url` | `string \| null` | No | — |
| `international_dialing_enabled` | `boolean \| null` | No | — |
| `is_admin` | `boolean \| null` | No | — |
| `is_available` | `boolean \| null` | No | — |
| `is_company_admin` | `boolean \| null` | No | — |
| `is_on_duty` | `boolean \| null` | No | — |
| `is_online` | `boolean \| null` | No | — |
| `is_super_admin` | `boolean \| null` | No | — |
| `job_title` | `string \| null` | No | — |
| `language` | `string \| null` | No | — |
| `last_name` | `string \| null` | No | — |
| `license` | `admins \| agents \| dpde_all \| dpde_one \| lite_lines \| lite_support_agents \| magenta_lines \| talk \| user \| string \| null` | No | — |
| `location` | `string \| null` | No | — |
| `muted` | `boolean \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `on_duty_started` | `string \| null` | No | — |
| `on_duty_status` | `available \| busy \| occupied \| occupied-end \| unavailable \| wrapup \| wrapup-end \| string \| null` | No | — |
| `onboarding_completed` | `boolean` | Yes | — |
| `phone_numbers` | `string[] \| null` | No | — |
| `remote_service` | `string \| null` | No | — |
| `session_type` | `call \| digital \| string \| null` | No | — |
| `state` | `active \| cancelled \| deleted \| pending \| suspended \| string \| null` | No | — |
| `status_message` | `string \| null` | No | — |
| `timezone` | `string \| null` | No | — |
| `voicemail` | `object` | Yes | — |

> [accordion] group\_details full type
>
> ```ts theme={null}
> {
>   do_not_disturb?: boolean | null,
>   group_id?: number | string | null,
>   group_type?: callcenter | callrouter | channel | coachinggroup | coachingteam | department | office | room | staffgroup | unknown | user | string | null,
>   role?: admin | operator | supervisor | string | null
> }[] | null
> ```

> [accordion] voicemail full type
>
> ```ts theme={null}
> {
>   is_default_voicemail?: boolean,
>   name?: string | null,
>   voicemail_notifications_enabled?: boolean
> }
> ```

***

### e911.get

`users.e911.get`

E911 Address -- Get. Gets E911 address of the user by user id. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.users.e911.get({ path: {"id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `address` | `string \| null` | No | — |
| `address2` | `string \| null` | No | — |
| `city` | `string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `state` | `string \| null` | No | — |
| `zip` | `string \| null` | No | — |

***

### e911.update

`users.e911.update`

E911 Address -- Update. Update E911 address of the given user. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.users.e911.update({ path: {"id":1}, body: {"address":"sample-value","city":"sample-value","country":"sample-value","state":"sample-value","zip":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   address: string,
>   address2?: string | null,
>   city: string,
>   country: string,
>   state: string,
>   use_validated_option?: boolean | null,
>   zip: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `address` | `string \| null` | No | — |
| `address2` | `string \| null` | No | — |
| `city` | `string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `state` | `string \| null` | No | — |
| `zip` | `string \| null` | No | — |

***

### get

`users.get`

User -- Get. Get a user by id. Returns identity (name, email, job\_title), contact details (phone\_numbers, extension), status (state, do\_not\_disturb, is\_on\_duty, on\_duty\_status), license type, office membership (office\_id, group\_details), and voicemail settings. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.users.get({ path: {"id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `admin_office_ids` | `(number \| string)[] \| null` | No | — |
| `company_id` | `number \| string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `date_active` | `string \| null` | No | — |
| `date_added` | `string \| null` | No | — |
| `date_first_login` | `string \| null` | No | — |
| `date_last_login` | `string` | No | — |
| `display_name` | `string \| null` | No | — |
| `do_not_disturb` | `boolean \| null` | No | — |
| `duty_status_reason` | `string \| null` | No | — |
| `duty_status_started` | `string \| null` | No | — |
| `emails` | `string[] \| null` | No | — |
| `extension` | `string \| null` | No | — |
| `first_name` | `string \| null` | No | — |
| `forwarding_numbers` | `string[] \| null` | No | — |
| `group_details` | `object[] \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `image_url` | `string \| null` | No | — |
| `international_dialing_enabled` | `boolean \| null` | No | — |
| `is_admin` | `boolean \| null` | No | — |
| `is_available` | `boolean \| null` | No | — |
| `is_company_admin` | `boolean \| null` | No | — |
| `is_on_duty` | `boolean \| null` | No | — |
| `is_online` | `boolean \| null` | No | — |
| `is_super_admin` | `boolean \| null` | No | — |
| `job_title` | `string \| null` | No | — |
| `language` | `string \| null` | No | — |
| `last_name` | `string \| null` | No | — |
| `license` | `admins \| agents \| dpde_all \| dpde_one \| lite_lines \| lite_support_agents \| magenta_lines \| talk \| user \| string \| null` | No | — |
| `location` | `string \| null` | No | — |
| `muted` | `boolean \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `on_duty_started` | `string \| null` | No | — |
| `on_duty_status` | `available \| busy \| occupied \| occupied-end \| unavailable \| wrapup \| wrapup-end \| string \| null` | No | — |
| `onboarding_completed` | `boolean` | Yes | — |
| `phone_numbers` | `string[] \| null` | No | — |
| `remote_service` | `string \| null` | No | — |
| `session_type` | `call \| digital \| string \| null` | No | — |
| `state` | `active \| cancelled \| deleted \| pending \| suspended \| string \| null` | No | — |
| `status_message` | `string \| null` | No | — |
| `timezone` | `string \| null` | No | — |
| `voicemail` | `object` | Yes | — |

> [accordion] group\_details full type
>
> ```ts theme={null}
> {
>   do_not_disturb?: boolean | null,
>   group_id?: number | string | null,
>   group_type?: callcenter | callrouter | channel | coachinggroup | coachingteam | department | office | room | staffgroup | unknown | user | string | null,
>   role?: admin | operator | supervisor | string | null
> }[] | null
> ```

> [accordion] voicemail full type
>
> ```ts theme={null}
> {
>   is_default_voicemail?: boolean,
>   name?: string | null,
>   voicemail_notifications_enabled?: boolean
> }
> ```

***

### initiate\_call

`users.initiate_call`

Call -- Initiate. Causes a user's Dialpad application to initiate an outbound call. Note that the user must have at least one active autocallable device (the web or desktop Dialpad app, or a CTI application). The Dialpad mobile apps and physical deskphones do not support this API call. Rate limit: 5 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.users.initiate_call({ path: {"id":"sample-value"}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   custom_data?: string | null,
>   group_id?: number | string | null,
>   group_type?: callcenter | department | office | null,
>   outbound_caller_id?: string | null,
>   phone_number?: string | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `device` | `object` | No | — |

> [accordion] device full type
>
> ```ts theme={null}
> {
>   app_version?: string | null,
>   date_created?: string | null,
>   date_registered?: string | null,
>   date_updated?: string | null,
>   display_name?: string | null,
>   id?: string | null,
>   phone_number?: string | null,
>   type?: android | ata | audiocodes | c2t | ciscompp | dect | dpmroom | grandstream | harness | iframe_cti_extension | iframe_cti_v2 | iframe_front | iframe_hubspot | iframe_ms_teams | iframe_open_cti | iframe_salesforce | iframe_service_titan | iframe_zendesk | iframe_zoho | ipad | iphone | mini | mitel | msteams | native | obi | packaged_app | polyandroid | polycom | polyedgee | proxy | public_api | salesforce | sip | tickiot | web | yealink | string | null,
>   user_id?: number | string | null
> }
> ```

***

### list

`users.list`

User -- List. Gets company users, optionally filtering by email. NOTE: The `limit` parameter has been soft-deprecated. Please omit the `limit` parameter, or reduce it to `100` or less. - Limit values of greater than `100` will only produce a page size of `100`, and a `400 Bad Request` response will be produced 20% of the time in an effort to raise visibility of side-effects that might otherwise go un-noticed by solutions that had assumed a larger page size. - The `cursor` value is provided in the response, and can be passed as a parameter to retrieve subsequent pages of results. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.users.list({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   cursor?: string,
>   first_name?: string,
>   last_name?: string,
>   state?: active | all | cancelled | deleted | pending | suspended,
>   company_admin?: boolean,
>   email?: string,
>   number?: string,
>   forwarding_number?: boolean
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   admin_office_ids?: (number | string)[] | null,
>   company_id?: number | string | null,
>   country?: string | null,
>   date_active?: string | null,
>   date_added?: string | null,
>   date_first_login?: string | null,
>   date_last_login?: string,
>   display_name?: string | null,
>   do_not_disturb?: boolean | null,
>   duty_status_reason?: string | null,
>   duty_status_started?: string | null,
>   emails?: string[] | null,
>   extension?: string | null,
>   first_name?: string | null,
>   forwarding_numbers?: string[] | null,
>   group_details?: {
>     do_not_disturb?: boolean | null,
>     group_id?: number | string | null,
>     group_type?: callcenter | callrouter | channel | coachinggroup | coachingteam | department | office | room | staffgroup | unknown | user | string | null,
>     role?: admin | operator | supervisor | string | null
>   }[] | null,
>   id?: number | string | null,
>   image_url?: string | null,
>   international_dialing_enabled?: boolean | null,
>   is_admin?: boolean | null,
>   is_available?: boolean | null,
>   is_company_admin?: boolean | null,
>   is_on_duty?: boolean | null,
>   is_online?: boolean | null,
>   is_super_admin?: boolean | null,
>   job_title?: string | null,
>   language?: string | null,
>   last_name?: string | null,
>   license?: admins | agents | dpde_all | dpde_one | lite_lines | lite_support_agents | magenta_lines | talk | user | string | null,
>   location?: string | null,
>   muted?: boolean | null,
>   office_id?: number | string | null,
>   on_duty_started?: string | null,
>   on_duty_status?: available | busy | occupied | occupied-end | unavailable | wrapup | wrapup-end | string | null,
>   onboarding_completed: boolean,
>   phone_numbers?: string[] | null,
>   remote_service?: string | null,
>   session_type?: call | digital | string | null,
>   state?: active | cancelled | deleted | pending | suspended | string | null,
>   status_message?: string | null,
>   timezone?: string | null,
>   voicemail: {
>     is_default_voicemail?: boolean,
>     name?: string | null,
>     voicemail_notifications_enabled?: boolean
>   }
> }[] | null
> ```

***

### list\_personas

`users.list_personas`

Persona -- List. Provides a list of personas for a user. A persona is a target that a user can make calls from. The receiver of the call will see the details of the persona rather than the user. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.users.list_personas({ path: {"id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   caller_id?: string | null,
>   id?: number | string | null,
>   image_url?: string | null,
>   name?: string | null,
>   phone_numbers?: string[] | null,
>   type?: string | null
> }[] | null
> ```

***

### move\_office

`users.move_office`

User -- Switch Office. Moves the user to a different office. For international offices only, all of the user's numbers will be unassigned and a new number will be assigned except when the user only has internal numbers starting with 803 -- then the numbers will remain unchanged. Admin can also assign numbers via the user assign number API after. Only supported on paid accounts and there must be enough licenses to transfer the user to the destination office. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.users.move_office({ path: {"id":"sample-value"}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   office_id?: number | string | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `admin_office_ids` | `(number \| string)[] \| null` | No | — |
| `company_id` | `number \| string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `date_active` | `string \| null` | No | — |
| `date_added` | `string \| null` | No | — |
| `date_first_login` | `string \| null` | No | — |
| `date_last_login` | `string` | No | — |
| `display_name` | `string \| null` | No | — |
| `do_not_disturb` | `boolean \| null` | No | — |
| `duty_status_reason` | `string \| null` | No | — |
| `duty_status_started` | `string \| null` | No | — |
| `emails` | `string[] \| null` | No | — |
| `extension` | `string \| null` | No | — |
| `first_name` | `string \| null` | No | — |
| `forwarding_numbers` | `string[] \| null` | No | — |
| `group_details` | `object[] \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `image_url` | `string \| null` | No | — |
| `international_dialing_enabled` | `boolean \| null` | No | — |
| `is_admin` | `boolean \| null` | No | — |
| `is_available` | `boolean \| null` | No | — |
| `is_company_admin` | `boolean \| null` | No | — |
| `is_on_duty` | `boolean \| null` | No | — |
| `is_online` | `boolean \| null` | No | — |
| `is_super_admin` | `boolean \| null` | No | — |
| `job_title` | `string \| null` | No | — |
| `language` | `string \| null` | No | — |
| `last_name` | `string \| null` | No | — |
| `license` | `admins \| agents \| dpde_all \| dpde_one \| lite_lines \| lite_support_agents \| magenta_lines \| talk \| user \| string \| null` | No | — |
| `location` | `string \| null` | No | — |
| `muted` | `boolean \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `on_duty_started` | `string \| null` | No | — |
| `on_duty_status` | `available \| busy \| occupied \| occupied-end \| unavailable \| wrapup \| wrapup-end \| string \| null` | No | — |
| `onboarding_completed` | `boolean` | Yes | — |
| `phone_numbers` | `string[] \| null` | No | — |
| `remote_service` | `string \| null` | No | — |
| `session_type` | `call \| digital \| string \| null` | No | — |
| `state` | `active \| cancelled \| deleted \| pending \| suspended \| string \| null` | No | — |
| `status_message` | `string \| null` | No | — |
| `timezone` | `string \| null` | No | — |
| `voicemail` | `object` | Yes | — |

> [accordion] group\_details full type
>
> ```ts theme={null}
> {
>   do_not_disturb?: boolean | null,
>   group_id?: number | string | null,
>   group_type?: callcenter | callrouter | channel | coachinggroup | coachingteam | department | office | room | staffgroup | unknown | user | string | null,
>   role?: admin | operator | supervisor | string | null
> }[] | null
> ```

> [accordion] voicemail full type
>
> ```ts theme={null}
> {
>   is_default_voicemail?: boolean,
>   name?: string | null,
>   voicemail_notifications_enabled?: boolean
> }
> ```

***

### set\_caller\_id

`users.set_caller_id`

Caller ID -- Set. Set Caller ID for a given user ID. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.users.set_caller_id({ path: {"id":"sample-value"}, body: {"caller_id":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   caller_id: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `caller_id` | `string \| null` | No | — |
| `forwarding_numbers` | `string[] \| null` | No | — |
| `groups` | `object[] \| null` | No | — |
| `id` | `number \| string` | Yes | — |
| `office_main_line` | `string \| null` | No | — |
| `phone_numbers` | `string[] \| null` | No | — |
| `primary_phone` | `string \| null` | No | — |

> [accordion] groups full type
>
> ```ts theme={null}
> {
>   caller_id?: string | null,
>   display_name?: string | null
> }[] | null
> ```

***

### toggle\_call\_recording

`users.toggle_call_recording`

Call Recording -- Toggle. Turns call recording on or off for a user's active call. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.users.toggle_call_recording({ path: {"id":1}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   is_recording?: boolean | null,
>   play_message?: boolean | null,
>   recording_type?: all | group | user | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `call_state` | `string \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `is_recording` | `boolean \| null` | No | — |

***

### toggle\_call\_vi

`users.toggle_call_vi`

Call VI -- Toggle. Turns Voice Intelligence (live transcription and real-time assist) on or off for the user's currently active call, optionally setting the transcription locale. Fails if the user has no active call. Reversible by calling again. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.users.toggle_call_vi({ path: {"id":1}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   announce_vi?: boolean | null,
>   enable_vi?: boolean | null,
>   vi_locale?: de-de | en-au | en-ca | en-gb | en-mx | en-nz | en-us | es-es | es-mx | es-us | fr-ca | fr-fr | id-id | it-it | ja-jp | ko-kr | nl-nl | pt-br | sv-se | vi-vn | zh-cn | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `call_state` | `string \| null` | No | — |
| `enable_vi` | `boolean \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `vi_locale` | `string \| null` | No | — |

***

### toggle\_dnd

`users.toggle_dnd`

Do Not Disturb -- Toggle. Toggle DND status on or off for the given user. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.users.toggle_dnd({ path: {"id":"sample-value"}, body: {"do_not_disturb":false} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   do_not_disturb: boolean,
>   group_id?: number | string | null,
>   group_type?: callcenter | department | office | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `do_not_disturb` | `boolean \| null` | No | — |
| `group_id` | `number \| string \| null` | No | — |
| `group_type` | `callcenter \| department \| office \| string \| null` | No | — |
| `id` | `number \| string \| null` | No | — |

***

### unassign\_number

`users.unassign_number`

Dialpad Number -- Unassign. Un-assigns a phone number from a user. The number will be returned to the company's reserved block if there is one. Otherwise the number will be released. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.users.unassign_number({ path: {"id":1}, body: {"number":"sample-value"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   number: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `area_code` | `string \| null` | No | — |
| `company_id` | `number \| string \| null` | No | — |
| `deleted` | `boolean \| null` | No | — |
| `number` | `string \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `status` | `available \| call_center \| call_router \| call_service \| department \| dynamic_caller \| office \| pending \| porting \| room \| shared_line \| sip_trunk \| user \| string \| null` | No | — |
| `target_id` | `number \| string \| null` | No | — |
| `target_type` | `callcenter \| callrouter \| channel \| coachinggroup \| coachingteam \| department \| office \| room \| staffgroup \| unknown \| user \| string \| null` | No | — |
| `type` | `free \| local \| mobile \| softbank \| tollfree \| string \| null` | No | — |

***

### update

`users.update`

User -- Update. Updates the provided fields for an existing user. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.users.update({ path: {"id":"sample-value"}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   admin_office_ids?: (number | string)[] | null,
>   emails?: string[] | null,
>   extension?: string | null,
>   first_name?: string | null,
>   forwarding_numbers?: string[] | null,
>   international_dialing_enabled?: boolean | null,
>   is_super_admin?: boolean | null,
>   job_title?: string | null,
>   keep_paid_numbers?: boolean | null,
>   last_name?: string | null,
>   license?: admins | agents | dpde_all | dpde_one | lite_lines | lite_support_agents | magenta_lines | talk | user | null,
>   office_id?: number | string | null,
>   phone_numbers?: string[] | null,
>   presence_status?: {
>     message?: string | null,
>     provider?: string | null,
>     type?: conference | default | null
>   },
>   release_numbers_on_suspend?: boolean | null,
>   state?: active | suspended | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `admin_office_ids` | `(number \| string)[] \| null` | No | — |
| `company_id` | `number \| string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `date_active` | `string \| null` | No | — |
| `date_added` | `string \| null` | No | — |
| `date_first_login` | `string \| null` | No | — |
| `date_last_login` | `string` | No | — |
| `display_name` | `string \| null` | No | — |
| `do_not_disturb` | `boolean \| null` | No | — |
| `duty_status_reason` | `string \| null` | No | — |
| `duty_status_started` | `string \| null` | No | — |
| `emails` | `string[] \| null` | No | — |
| `extension` | `string \| null` | No | — |
| `first_name` | `string \| null` | No | — |
| `forwarding_numbers` | `string[] \| null` | No | — |
| `group_details` | `object[] \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `image_url` | `string \| null` | No | — |
| `international_dialing_enabled` | `boolean \| null` | No | — |
| `is_admin` | `boolean \| null` | No | — |
| `is_available` | `boolean \| null` | No | — |
| `is_company_admin` | `boolean \| null` | No | — |
| `is_on_duty` | `boolean \| null` | No | — |
| `is_online` | `boolean \| null` | No | — |
| `is_super_admin` | `boolean \| null` | No | — |
| `job_title` | `string \| null` | No | — |
| `language` | `string \| null` | No | — |
| `last_name` | `string \| null` | No | — |
| `license` | `admins \| agents \| dpde_all \| dpde_one \| lite_lines \| lite_support_agents \| magenta_lines \| talk \| user \| string \| null` | No | — |
| `location` | `string \| null` | No | — |
| `muted` | `boolean \| null` | No | — |
| `office_id` | `number \| string \| null` | No | — |
| `on_duty_started` | `string \| null` | No | — |
| `on_duty_status` | `available \| busy \| occupied \| occupied-end \| unavailable \| wrapup \| wrapup-end \| string \| null` | No | — |
| `onboarding_completed` | `boolean` | Yes | — |
| `phone_numbers` | `string[] \| null` | No | — |
| `remote_service` | `string \| null` | No | — |
| `session_type` | `call \| digital \| string \| null` | No | — |
| `state` | `active \| cancelled \| deleted \| pending \| suspended \| string \| null` | No | — |
| `status_message` | `string \| null` | No | — |
| `timezone` | `string \| null` | No | — |
| `voicemail` | `object` | Yes | — |

> [accordion] group\_details full type
>
> ```ts theme={null}
> {
>   do_not_disturb?: boolean | null,
>   group_id?: number | string | null,
>   group_type?: callcenter | callrouter | channel | coachinggroup | coachingteam | department | office | room | staffgroup | unknown | user | string | null,
>   role?: admin | operator | supervisor | string | null
> }[] | null
> ```

> [accordion] voicemail full type
>
> ```ts theme={null}
> {
>   is_default_voicemail?: boolean,
>   name?: string | null,
>   voicemail_notifications_enabled?: boolean
> }
> ```

***

### update\_status

`users.update_status`

User Status -- Update. Update user's status. Returns the user's status if the user exists. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.users.update_status({ path: {"id":1}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   expiration?: number | string | null,
>   status_message?: string | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `expiration` | `number \| string \| null` | No | — |
| `id` | `number \| string \| null` | No | — |
| `status_message` | `string \| null` | No | — |

***

## Websockets

### create

`websockets.create`

Websocket -- Create. Creates a new websocket for your company. A unique websocket ID will be generated when successfully creating a websocket. A websocket ID is to be required when creating event subscriptions. One websocket ID can be shared between multiple event subscriptions. When triggered, events will be accessed through provided websocket\_url under websocket. The url will be expired after 1 hour. Please use the GET websocket API to regenerate url rather than creating new ones. If a secret is provided, the websocket events will be encoded and signed in the JWT format using the shared secret with the HS256 algorithm. The JWT payload should be decoded and the signature verified to ensure that the event came from Dialpad. If no secret is provided, unencoded events will be sent in the JSON format. It is recom

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.websockets.create({ body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `body` | `object` | No | — |

> [accordion] body full type
>
> ```ts theme={null}
> {
>   secret?: string | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `number \| string \| null` | No | — |
| `signature` | `object` | No | — |
| `websocket_url` | `string \| null` | No | — |

> [accordion] signature full type
>
> ```ts theme={null}
> {
>   algo?: string | null,
>   secret?: string | null,
>   type?: string | null
> }
> ```

***

### delete

`websockets.delete`

Websocket -- Delete. Deletes a websocket by id. Rate limit: 1200 per minute.

**Risk:** `destructive`

```ts theme={null}
await corsair.dialpad.api.websockets.delete({ path: {"id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `number \| string \| null` | No | — |
| `signature` | `object` | No | — |
| `websocket_url` | `string \| null` | No | — |

> [accordion] signature full type
>
> ```ts theme={null}
> {
>   algo?: string | null,
>   secret?: string | null,
>   type?: string | null
> }
> ```

***

### get

`websockets.get`

Websocket -- Get. Gets a websocket by id. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.websockets.get({ path: {"id":1} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `number \| string \| null` | No | — |
| `signature` | `object` | No | — |
| `websocket_url` | `string \| null` | No | — |

> [accordion] signature full type
>
> ```ts theme={null}
> {
>   algo?: string | null,
>   secret?: string | null,
>   type?: string | null
> }
> ```

***

### list

`websockets.list`

Websocket -- List. Gets a list of all the websockets that are associated with the company. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.websockets.list({ query: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | No | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   cursor?: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string \| null` | No | — |
| `items` | `object[] \| null` | No | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   id?: number | string | null,
>   signature?: {
>     algo?: string | null,
>     secret?: string | null,
>     type?: string | null
>   },
>   websocket_url?: string | null
> }[] | null
> ```

***

### update

`websockets.update`

Websocket -- Update. Updates a websocket by id. Rate limit: 1200 per minute.

**Risk:** `write`

```ts theme={null}
await corsair.dialpad.api.websockets.update({ path: {"id":1}, body: {} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `path` | `object` | Yes | — |
| `body` | `object` | No | — |

> [accordion] path full type
>
> ```ts theme={null}
> {
>   id: number | string
> }
> ```

> [accordion] body full type
>
> ```ts theme={null}
> {
>   secret?: string | null
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `number \| string \| null` | No | — |
| `signature` | `object` | No | — |
| `websocket_url` | `string \| null` | No | — |

> [accordion] signature full type
>
> ```ts theme={null}
> {
>   algo?: string | null,
>   secret?: string | null,
>   type?: string | null
> }
> ```

***

## Wfm

### wfm-metrics-activity.get

`wfm.wfm-metrics-activity.get`

Activity Metrics. Returns paginated, activity-level metrics for specified agents. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.wfm.wfm-metrics-activity.get({ query: {"end":"2024-01-02T03:04:05Z","start":"2024-01-02T03:04:05Z"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | Yes | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   ids?: string,
>   emails?: string,
>   cursor?: string,
>   end: string,
>   start: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string` | No | — |
| `items` | `object[]` | Yes | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   activity?: {
>     name?: string,
>     type?: string
>   },
>   adherence_score?: number,
>   average_conversation_time?: number,
>   average_interaction_time?: number,
>   conversations_closed?: number | string,
>   conversations_closed_per_hour?: number,
>   conversations_commented_on?: number | string,
>   conversations_on_hold?: number | string,
>   conversations_opened?: number | string,
>   interval?: {
>     end?: string,
>     start?: string
>   },
>   scheduled_hours?: number,
>   time_in_adherence?: {
>     percentage?: number | null,
>     seconds?: number | string
>   },
>   time_in_exception?: {
>     percentage?: number | null,
>     seconds?: number | string
>   },
>   time_on_task?: number,
>   time_out_of_adherence?: {
>     percentage?: number | null,
>     seconds?: number | string
>   },
>   wrong_task_snapshots?: number | string
> }[]
> ```

***

### wfm-metrics-agent.get

`wfm.wfm-metrics-agent.get`

Agent Metrics. Returns paginated, detailed agent-level performance metrics. Rate limit: 1200 per minute.

**Risk:** `read`

```ts theme={null}
await corsair.dialpad.api.wfm.wfm-metrics-agent.get({ query: {"end":"2024-01-02T03:04:05Z","start":"2024-01-02T03:04:05Z"} });
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `object` | Yes | — |

> [accordion] query full type
>
> ```ts theme={null}
> {
>   ids?: string,
>   emails?: string,
>   cursor?: string,
>   end: string,
>   start: string
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `cursor` | `string` | No | — |
| `items` | `object[]` | Yes | — |

> [accordion] items full type
>
> ```ts theme={null}
> {
>   actual_occupancy?: {
>     percentage?: number | null,
>     seconds_lost?: number | string
>   },
>   adherence_score?: number,
>   agent?: {
>     email?: string,
>     name?: string
>   },
>   conversations_closed_per_hour?: number,
>   conversations_closed_per_service_hour?: number,
>   dialpad_availability?: {
>     percentage?: number | null,
>     seconds_lost?: number | string
>   },
>   dialpad_time_in_status?: {
>     available?: {
>       percentage?: number | null,
>       seconds?: number | string
>     },
>     busy?: {
>       percentage?: number | null,
>       seconds?: number | string
>     },
>     occupied?: {
>       percentage?: number | null,
>       seconds?: number | string
>     },
>     unavailable?: {
>       percentage?: number | null,
>       seconds?: number | string
>     },
>     wrapup?: {
>       percentage?: number | null,
>       seconds?: number | string
>     }
>   },
>   interval?: {
>     end?: string,
>     start?: string
>   },
>   occupancy?: number,
>   planned_occupancy?: {
>     percentage?: number | null,
>     seconds_lost?: number | string
>   },
>   scheduled_hours?: number,
>   time_in_adherence?: {
>     percentage?: number | null,
>     seconds?: number | string
>   },
>   time_in_exception?: {
>     percentage?: number | null,
>     seconds?: number | string
>   },
>   time_on_task?: number,
>   time_out_of_adherence?: {
>     percentage?: number | null,
>     seconds?: number | string
>   },
>   total_conversations_closed?: number | string,
>   utilisation?: number
> }[]
> ```

***


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.