# Auto Dialer
- **OpenAPI Version:** `3.1.1`
- **API Version:** `2`
## Servers
- **URL:** `https://api.zoom.us/v2`
## Operations
### Get call history by ID
- **Method:** `GET`
- **Path:** `/dialer/call-histories/{callHistoryId}`
- **Tags:** Call History & Reporting
Retrieve call history for a call history ID.
**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `dialer:read:admin`
**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `zoom_auto_dialer:read:call_history:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`
#### Responses
##### Status: 200 \*\*HTTP Status Code:\*\* \`200\` Successfully retrieved call history for the specified call history ID.
###### Content-Type: application/json
- **`account_name`**
`string` — Account name, for contacts.
- **`amd_result`**
`string`, possible values: `"MACHINE", "HUMAN"` — Answering Machine Detection result enum.
- **`auto_disposition`**
`boolean` — Whether the disposition was automatically assigned or manually set. - \`true\` - automatically assigned. - \`false\` - manually set.
- **`call_duration`**
`number` — Call duration in seconds.
- **`call_history_id`**
`string` — The call history record's unique identifier.
- **`call_id`**
`string` — Unique identifier for the call that was made.
- **`call_list_deleted`**
`boolean` — Whether the call list has been deleted.
- **`call_list_id`**
`string` — The call list's unique identifier.
- **`call_list_name`**
`string` — The call list's name.
- **`call_note`**
`string` — Notes or comments about the call.
- **`called_number`**
`string` — Phone number that was called.
- **`calling_number`**
`string` — Phone number used to make the call.
- **`company`**
`string` — Company name, for leads.
- **`complete_called_number`**
`string` — Complete phone number with country code.
- **`create_time`**
`string` — Time when the call record was created, in UTC ISO 8601 format.
- **`dialer_status`**
`string`, possible values: `"UPCOMING", "DIALING", "CONNECTED", "CANCELED", "ENDED", "VOICEMAIL_SKIP", "DIALER_TREE_SKIP", "BUSY_CALL_SKIP", "DIFFERENT_TIMEZONE_SKIP", "VOICEMAIL_LEFT", "NO_NUMBER_TO_DIAL_SKIP", "CALL_LIMIT_BY_DAY", "CALL_LIMIT_BY_WEEK", "COUNTRY_LIMIT"` — Call status enum.
- **`dialer_sub_status`**
`string`, possible values: `"CANCELED_BY_CALLER", "CANCELED_BY_CALLEE", "CALLED_BY_PBX", "ZP_ERROR", "ANSWER", "NOT_ANSWER"` — Call sub-status enum.
- **`disposition`**
`string` — Call disposition or outcome.
- **`disposition_deleted`**
`boolean` — Whether the disposition has been deleted.
- **`email_addresses`**
`array` — List of email addresses associated with the contact.
**Items:**
- **`email`**
`string` — Email address.
- **`type`**
`string`, possible values: `"PRIMARY_EMAIL", "SECONDARY_EMAIL"` — Type of email address.
- **`external_id`**
`string` — The third-party UUID. This field is stored and returned as-is.
- **`meeting_id`**
`string` — Unique identifier of the associated meeting, if available.
- **`primary_name`**
`string` — The prospect's primary name.
- **`processing_analysis`**
`boolean` — Whether call analysis is currently being processed.
- **`secondary_name`**
`string` — The prospect's secondary name.
- **`start_time`**
`string` — Time when the call started, in UTC ISO 8601 format.
- **`transcript`**
`string` — Call transcript, if available.
- **`type`**
`string`, possible values: `"UPCOMING", "CALLED", "SNOOZED", "HISTORY", "NO_CALL_LIST", "REMOVED", "CALL_BACK_INBOUND"` — Record type enum.
- **`user_id`**
`string` — Unique identifier of the user who made the call.
**Example:**
```json
{
"call_history_id": "WlLdbYT7R0uWWhJzjBmVVQ",
"primary_name": "Jill Chill",
"secondary_name": "Jill Chill",
"company": "GSW",
"disposition": "Connected - No interest",
"transcript": "[00:00] 16315423526: Your call has been forwarded to voicemail. The person you're trying to reach is not available. At the tone.\\n[00:05] 16315423526: Please record your message. When you have finished recording, you may hang up.",
"type": "HISTORY",
"user_id": "1W6kwwJQRL-1p9bsjdQvmw",
"call_list_id": "iY092GX9TbWfL54HnBxyPQ",
"account_name": "Facebook",
"calling_number": "+15165551212",
"called_number": "+1-631-555-1212",
"complete_called_number": "+16315551212",
"call_duration": 29,
"create_time": "2025-11-13T15:30:45Z",
"start_time": "2025-11-13T15:30:16Z",
"dialer_status": "ENDED",
"dialer_sub_status": "ANSWER",
"disposition_deleted": false,
"auto_disposition": true,
"meeting_id": "aa916cffb2ad4be9a85f0a9a915799c5",
"processing_analysis": false,
"call_note": "Prospect showed no interest.",
"call_id": "068b9f5120201001631",
"amd_result": "HUMAN",
"call_list_name": "test disposition",
"call_list_deleted": true,
"email_addresses": [
{
"email": "john.smith@example.com",
"type": "PRIMARY_EMAIL"
}
],
"external_id": "xxxx-uyy-uuid"
}
```
##### Status: 403 \*\*HTTP Status Code:\*\* \`403\` \
Forbidden \*\*Error Code:\*\* \`6023\` \
User is not a Zoom Owner or Admin. \
##### Status: 404 \*\*HTTP Status Code:\*\* \`404\` \
Not Found \*\*Error Code:\*\* \`6150\` \
Call history not found with id: 068b9f5120201001631. \
##### Status: 500 \*\*HTTP Status Code:\*\* \`500\` \
Internal Server Error \*\*Error Code:\*\* \`6200\` \
Internal server error. \
### Get Call History
- **Method:** `GET`
- **Path:** `/dialer/call-history`
- **Tags:** Call History & Reporting
Retrieve call history with pagination and various filtering options. Supports filtering by user, call list ID, or call ID, but not all three simultaneously.
**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `dialer:read:admin`
**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `zoom_auto_dialer:read:call_history:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`
#### Responses
##### Status: 200 \*\*HTTP Status Code:\*\* \`200\` Successfully retrieved the call history.
###### Content-Type: application/json
- **`call_history`**
`array` — Array of call history records.
**Items:**
- **`account_name`**
`string` — Account name (for contacts).
- **`amd_result`**
`string`, possible values: `"MACHINE", "HUMAN"` — Answering Machine Detection result enum: MACHINE, HUMAN.
- **`auto_disposition`**
`boolean` — Whether disposition was automatically assigned (true) or manually set (false).
- **`call_duration`**
`number` — Call duration in seconds.
- **`call_history_id`**
`string` — Unique identifier for the call history record.
- **`call_id`**
`string` — Unique call identifier.
- **`call_list_deleted`**
`boolean` — Whether the call list has been deleted.
- **`call_list_id`**
`string` — Call list identifier.
- **`call_list_name`**
`string` — Name of the call list.
- **`call_note`**
`string` — Call note.
- **`called_number`**
`string` — Phone number that was called.
- **`calling_number`**
`string` — Calling phone number.
- **`company`**
`string` — Company name (for leads).
- **`complete_called_number`**
`string` — Complete phone number with country code.
- **`create_time`**
`string` — Call creation time in UTC (ISO 8601 format).
- **`dialer_status`**
`string`, possible values: `"UPCOMING", "DIALING", "CONNECTED", "CANCELED", "ENDED", "VOICEMAIL_SKIP", "DIALER_TREE_SKIP", "BUSY_CALL_SKIP", "DIFFERENT_TIMEZONE_SKIP", "VOICEMAIL_LEFT", "NO_NUMBER_TO_DIAL_SKIP", "CALL_LIMIT_BY_DAY", "CALL_LIMIT_BY_WEEK", "COUNTRY_LIMIT"` — Call status enum: UPCOMING, DIALING, CONNECTED, CANCELED, ENDED, VOICEMAIL\_SKIP, DIALER\_TREE\_SKIP, BUSY\_CALL\_SKIP, DIFFERENT\_TIMEZONE\_SKIP, VOICEMAIL\_LEFT, NO\_NUMBER\_TO\_DIAL\_SKIP, CALL\_LIMIT\_BY\_DAY, CALL\_LIMIT\_BY\_WEEK, COUNTRY\_LIMIT.
- **`dialer_sub_status`**
`string`, possible values: `"CANCELED_BY_CALLER", "CANCELED_BY_CALLEE", "CALLED_BY_PBX", "ZP_ERROR", "ANSWER", "NOT_ANSWER"` — Call sub-status enum: CANCELED\_BY\_CALLER, CANCELED\_BY\_CALLEE, CALLED\_BY\_PBX, ZP\_ERROR, ANSWER, NOT\_ANSWER.
- **`disposition`**
`string` — Call disposition/outcome.
- **`disposition_deleted`**
`boolean` — Whether the disposition has been deleted.
- **`email_addresses`**
`array` — Email addresses.
**Items:**
- **`email`**
`string` — Email address.
- **`type`**
`string`, possible values: `"PRIMARY_EMAIL", "SECONDARY_EMAIL"`
- **`external_id`**
`string` — The third-party UUID. This field is stored and returned as-is.
- **`meeting_id`**
`string` — Associated meeting ID (if available).
- **`primary_name`**
`string` — Prospect primary name.
- **`processing_analysis`**
`boolean` — Whether call analysis is being processed.
- **`secondary_name`**
`string` — Prospect secondary name.
- **`start_time`**
`string` — Call start time in UTC (ISO 8601 format).
- **`transcript`**
`string` — Call transcript (if available).
- **`type`**
`string`, possible values: `"UPCOMING", "CALLED", "SNOOZED", "HISTORY", "NO_CALL_LIST", "REMOVED", "CALL_BACK_INBOUND"` — Record type enum: UPCOMING, CALLED, SNOOZED, HISTORY, NO\_CALL\_LIST, REMOVED, CALL\_BACK\_INBOUND.
- **`user_id`**
`string` — ID of the user who made the call.
- **`has_next_page`**
`boolean` — Whether there is a next page.
- **`page`**
`number` — Current page number.
- **`page_size`**
`number`, default: `20` — Number of items per page.
- **`total`**
`number` — Total number of items.
**Example:**
```json
{
"total": 50,
"page": 1,
"page_size": 10,
"has_next_page": true,
"call_history": [
{
"call_history_id": "19DBLVM5SHG6cgIeo0vrHQ",
"primary_name": "Klay Thompson",
"secondary_name": "Klay",
"company": "GSW",
"account_name": "GSW",
"disposition": "Interested",
"disposition_deleted": false,
"transcript": "[00:00] 16315423526: Your call has been forwarded to voicemail. The person you're trying to reach is not available. At the tone.\\n[00:05] 16315423526: Please record your message. When you have finished recording, you may hang up.",
"type": "HISTORY",
"user_id": "1W6kwwJQRL-1p9bsjdQvmw",
"call_list_id": "Nq6eIDDOTOa5wrxVdFUR3w",
"call_list_name": "Call list test",
"call_list_deleted": false,
"calling_number": "+1987654321",
"called_number": "+1-631-542-4444",
"complete_called_number": "+16315424444",
"call_duration": 394,
"create_time": "2025-11-13T15:30:45Z",
"start_time": "2025-11-13T15:24:11Z",
"dialer_status": "ENDED",
"dialer_sub_status": "ANSWER",
"auto_disposition": true,
"meeting_id": "3756643caefc4ed0ac3faccdc92a3677",
"processing_analysis": false,
"call_note": "Prospect showed no interest.",
"call_id": "06711553f02021f25a0",
"amd_result": "HUMAN",
"email_addresses": [
{
"email": "john.smith@acme-corp.com",
"type": "PRIMARY_EMAIL"
}
],
"external_id": "xxxxxy-yxyxyyx-we"
}
]
}
```
##### Status: 400 \*\*HTTP Status Code:\*\* \`400\` \
Bad Request \*\*Error Code:\*\* \`6151\` \
At least one filter must be provided: user\_id(id or email), call\_list\_id, or call\_id \
\*\*Error Code:\*\* \`6152\` \
call\_id cannot be combined with other filters: user\_id (id or email), call\_list\_id, import\_from, keyword \
\*\*Error Code:\*\* \`6153\` \
import\_from is invalid \
\*\*Error Code:\*\* \`6154\` \
import\_from parameter is only valid when filtering by user\_id (id or email) \
\*\*Error Code:\*\* \`6155\` \
sort\_order must be either 'asc' or 'desc' \
\*\*Error Code:\*\* \`6152\` \
Cannot provide both call\_list\_id and user\_id (id or email) in the same request \
\*\*Error Code:\*\* \`6156\` \
page\_size cannot exceed 100. Provided: 150 \
##### Status: 403 \*\*HTTP Status Code:\*\* \`403\` \
Forbidden \*\*Error Code:\*\* \`6023\` \
User is not a Zoom Owner or Admin \
##### Status: 404 \*\*HTTP Status Code:\*\* \`404\` \
Not Found \*\*Error Code:\*\* \`6021\` \
User not found with id: 1W6kwwJQRL-1p9bsjdQvmw \
\*\*Error Code:\*\* \`6150\` \
Call not found with callId: 068b9f5120201001631 \
\*\*Error Code:\*\* \`6020\` \
Call list not found with id: iY092GX9TbWfL54HnBxyPQ \
##### Status: 500 \*\*HTTP Status Code:\*\* \`500\` \
Internal Server Error \*\*Error Code:\*\* \`6200\` \
Internal server error \
### List Call Lists
- **Method:** `GET`
- **Path:** `/dialer/call-lists`
- **Tags:** Call List Management
Retrieve all call lists in the account. Optionally filter by user IDs/emails and source.
**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `dialer:read:admin`
**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `zoom_auto_dialer:read:call_lists:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`
#### Responses
##### Status: 200 \*\*HTTP Status Code:\*\* \`200\` Successfully retrieved all call lists for the account
###### Content-Type: application/json
- **`call_lists`**
`array` — Array of call lists associated with the account.
**Items:**
- **`call_list_id`**
`string` — Unique identifier of the call list.
- **`create_time`**
`string` — Timestamp when the call list was created (ISO-8601 format).
- **`description`**
`string` — Description of the call list.
- **`import_from`**
`string` — Source: SALESFORCE, CSV, OUTREACH, OPEN\_API
- **`name`**
`string` — Name of the call list.
- **`owner_email`**
`string` — Email address of the call list owner.
- **`owner_user_id`**
`string` — User ID of the call list owner.
- **`prospect_type`**
`string`, possible values: `"CONTACT", "LEAD"` — Type of prospects: CONTACT, LEAD
- **`recent_dialed`**
`boolean` — Indicates whether the list contains recently dialed contacts.
- **`status`**
`string`, possible values: `"IN_PROGRESS", "COMPLETE"` — Call list status: IN\_PROGRESS, COMPLETE
**Example:**
```json
{
"call_lists": [
{
"call_list_id": "24n0mXjZSaOrOYJg7sahlA",
"name": "Q4 2025 Sales Prospects Contact",
"status": "COMPLETE",
"owner_user_id": "CeNVNaE9SOWPo5SC_KlZHw",
"owner_email": "dev+john_doe_zradialer@zoomsandbox.us",
"description": "High-priority contacts for Q5 2025 sales campaign targeting enterprise customers in the technology sector. Focus on companies with 500+ employees and annual revenue over $10M.",
"prospect_type": "CONTACT",
"create_time": "2025-10-17T08:34:58.151+00:00",
"import_from": "OPEN_API",
"recent_dialed": false
}
]
}
```
##### Status: 400 \*\*HTTP Status Code:\*\* \`400\` \
Bad Request \*\*Error Code:\*\* \`6153\` \
The import\_from parameter value is invalid. \
##### Status: 403 \*\*HTTP Status Code:\*\* \`403\` \
Forbidden \*\*Error Code:\*\* \`6023\` \
User does not have the required Zoom Owner or Admin privileges. \
##### Status: 500 \*\*HTTP Status Code:\*\* \`500\` \
Internal Server Error \*\*Error Code:\*\* \`6200\` \
Internal server error. \
### Create Call List
- **Method:** `POST`
- **Path:** `/dialer/call-lists`
- **Tags:** Call List Management
Create a new call list
**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `dialer:write:admin`
**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `zoom_auto_dialer:write:call_lists:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`
#### Request Body
##### Content-Type: application/json
- **`assigned_to_user_id` (required)**
`string` — User ID or email to assign the list to
- **`name` (required)**
`string` — Name of the call list
- **`prospect_type` (required)**
`string`, possible values: `"CONTACT", "LEAD"` — Type of prospects in the list. Valid values: CONTACT, LEAD
- **`description`**
`string` — Description of the call list
**Example:**
```json
{
"name": "Q4 2025 Sales Prospects Contact",
"description": "High-priority contacts for Q5 2025 sales campaign targeting enterprise customers in the technology sector. Focus on companies with 500+ employees and annual revenue over $10M.",
"prospect_type": "CONTACT",
"assigned_to_user_id": "0yT-QeXeQYqW6uizHEFmXA"
}
```
#### Responses
##### Status: 201 \*\*HTTP Status Code:\*\* \`201\` Successfully created the call list.
###### Content-Type: application/json
- **`assigned_to_user_email`**
`string` — Email address of the assigned user
- **`assigned_to_user_id`**
`string` — User ID to whom the call list is assigned
- **`call_list_id`**
`string` — Auto-generated unique identifier for the created call list
- **`created_at`**
`string` — Timestamp when the call list was created in UTC (ISO 8601 format)
- **`name`**
`string` — The name of the call list (as provided in request)
- **`prospect_type`**
`string`, possible values: `"CONTACT", "LEAD"` — Type of prospects in the list: CONTACT, LEAD
**Example:**
```json
{
"call_list_id": "c-ncE_MXQACAjn3_I_35gg",
"name": "Q4 2025 Sales Prospects Contact",
"created_at": "2025-10-20T13:40:33.247Z",
"prospect_type": "CONTACT",
"assigned_to_user_id": "0yT-QeXeQYqW6uizHEFmXA",
"assigned_to_user_email": "dev+john_doe_zradialer@zoomsandbox.us"
}
```
##### Status: 400 \*\*HTTP Status Code:\*\* \`400\` \
Bad Request \*\*Error Code:\*\* \`6100\` \
Validation failed. errors field will have further details. Eg: "errors": \[ { "field": "name", "message": "Call list name cannot be blank" } ] \
\*\*Error Code:\*\* \`6000\` \
Call list name already exists \
\*\*Error Code:\*\* \`6002\` \
Maximum number of call lists created via Open API exceeded. Current: 10000, Maximum allowed: 10000 \
\*\*Error Code:\*\* \`6005\` \
The name cannot exceed 255 characters \
\*\*Error Code:\*\* \`6006\` \
The description cannot exceed 1000 characters \
\*\*Error Code:\*\* \`6007\` \
ID should not be provided for create operation \
\*\*Error Code:\*\* \`6010\` \
Prospect type is required \
\*\*Error Code:\*\* \`6011\` \
Prospect type must be either 'CONTACT' or 'LEAD' \
\*\*Error Code:\*\* \`6022\` \
Either userId or email must be provided for assignment \
\*\*Error Code:\*\* \`6201\` \
Request body is required \
\*\*Error Code:\*\* \`6004\` \
Call list name is required \
\*\*Error Code:\*\* \`6021\` \
User not found with id: 0yT-QeXeQYqW6uizHEFmXA or email: dev+john\_doe\_zradialer\@zoomsandbox.us \
##### Status: 403 \*\*HTTP Status Code:\*\* \`403\` \
Forbidden User is not a Zoom Owner or Admin
##### Status: 500 \*\*HTTP Status Code:\*\* \`500\` \
Internal Server Error Internal server error
### Get Call List by ID
- **Method:** `GET`
- **Path:** `/dialer/call-lists/{callListId}`
- **Tags:** Call List Management
Retrieve details of a specific call list by its ID
Error Conditions: Invalid callListId User is not Zoom Owner or Admin
**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `dialer:read:admin`
**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `zoom_auto_dialer:read:call_lists:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`
#### Responses
##### Status: 200 \*\*HTTP Status Code:\*\* \`200\` Successfully retrieved the call list details.
###### Content-Type: application/json
- **`call_list`**
`object` — Call list object.
- **`call_list_id`**
`string` — Unique identifier for the call list.
- **`create_time`**
`string` — Timestamp when the call list was created (ISO-8601 format).
- **`description`**
`string` — Detailed description of the call list.
- **`import_from`**
`string` — Source: OPEN\_API, SALESFORCE, CSV, OUTREACH
- **`name`**
`string` — Name of the call list.
- **`owner_email`**
`string` — Email address of the call list owner.
- **`owner_user_id`**
`string` — User ID of the call list owner.
- **`prospect_type`**
`string`, possible values: `"CONTACT", "LEAD"` — Type of prospects: CONTACT, LEAD
- **`recent_dialed`**
`boolean` — Indicates whether the list contains recently dialed contacts.
- **`status`**
`string`, possible values: `"IN_PROGRESS", "COMPLETE"` — Call list status: IN\_PROGRESS, COMPLETE
**Example:**
```json
{
"call_list": {
"call_list_id": "24n0mXjZSaOrOYJg7sahlA",
"name": "Q4 2025 Sales Prospects Contact",
"status": "COMPLETE",
"owner_user_id": "CeNVNaE9SOWPo5SC_KlZHw",
"owner_email": "dev+john_doe_zradialer@zoomsandbox.us",
"description": "High-priority contacts for Q5 2025 sales campaign targeting enterprise customers in the technology sector. Focus on companies with 500+ employees and annual revenue over $10M.",
"prospect_type": "CONTACT",
"create_time": "2025-10-17T08:34:58.151+00:00",
"import_from": "OPEN_API",
"recent_dialed": false
}
}
```
##### Status: 403 \*\*HTTP Status Code:\*\* \`403\` \
Forbidden \*\*Error Code:\*\* \`6023\` \
User is not a Zoom Owner or Admin \
##### Status: 404 \*\*HTTP Status Code:\*\* \`404\` \
Not Found \*\*Error Code:\*\* \`6001\` \
Call list not found with ID: 24n0mXjZSaOrOYJg7sahlA \
##### Status: 500 \*\*HTTP Status Code:\*\* \`500\` \
Internal Server Error \*\*Error Code:\*\* \`6200\` \
Internal server error \
### Delete Call List
- **Method:** `DELETE`
- **Path:** `/dialer/call-lists/{callListId}`
- **Tags:** Call List Management
Delete a call list and all its associated prospects.
**Limitation:** Currently, deletion is supported only for call lists created through Open APIs. Future updates will expand support to all call lists.
**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `dialer:write:admin`
**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `zoom_auto_dialer:delete:call_lists:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`
#### Responses
##### Status: 204 \*\*HTTP Status Code:\*\* \`204\` \
Successfully deleted the call list.
##### Status: 400 \*\*HTTP Status Code:\*\* \`400\` \
Bad Request \*\*Error Code:\*\* \`6003\` \
Cannot delete call list that was not created via Open API \
##### Status: 403 \*\*HTTP Status Code:\*\* \`403\` \
Forbidden \*\*Error Code:\*\* \`6023\` \
User is not a Zoom Owner or an Admin \
##### Status: 404 \*\*HTTP Status Code:\*\* \`404\` \
Not Found \*\*Error Code:\*\* \`6001\` \
Call list not found with ID: abc123xyz \
##### Status: 500 \*\*HTTP Status Code:\*\* \`500\` \
Internal Server Error \*\*Error Code:\*\* \`6200\` \
Internal Server Error \
### Update Call List
- **Method:** `PATCH`
- **Path:** `/dialer/call-lists/{callListId}`
- **Tags:** Call List Management
Update an existing call list.
**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `dialer:write:admin`
**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `zoom_auto_dialer:update:call_lists:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`
#### Request Body
##### Content-Type: application/json
- **`assigned_to_user_id`**
`string` — User ID or email to reassign the call list to. User must exist in the account. Either user\_id or user\_email can be provided.
- **`description`**
`string` — New description for the call list.
- **`name`**
`string` — New name for the call list.
- **`prospect_type`**
`string`, possible values: `"CONTACT", "LEAD"` — New prospect type for the call list. Must be Contact or Lead (case insensitive). Note: Cannot be changed if the list contains prospects.
**Example:**
```json
{
"name": "Q1 2025 Enterprise Leads - Updated",
"description": "Updated description for Q1 targets",
"prospect_type": "CONTACT",
"assigned_to_user_id": "1W6kwwJQRL-1p9bsjdQvmw"
}
```
#### Responses
##### Status: 204 \*\*HTTP Status Code:\*\* \`204\` \
No Content \[Successfully updated the call list]
##### Status: 400 \*\*HTTP Status Code:\*\* \`400\` \
Bad Request \[Invalid request parameters or validation errors] \*\*Error Code:\*\* \`6053\` \
No changes detected. At least one field (name, prospect\_type, description, assigned\_to\_user) must have a different value from the existing call list. \
\*\*Error Code:\*\* \`6053\` \
At least one field must be provided for update operation. \
\*\*Error Code:\*\* \`6005\` \
The name cannot exceed 255 characters. \
\*\*Error Code:\*\* \`6006\` \
The description cannot exceed 1000 characters. \
\*\*Error Code:\*\* \`6011\` \
Prospect type must be either 'CONTACT' or 'LEAD'. \
\*\*Error Code:\*\* \`6009\` \
Prospect type cannot be changed when call list has items. Current item size: 5. Please remove all items before changing prospect type. \
\*\*Error Code:\*\* \`6008\` \
Call list is currently in use. \
\*\*Error Code:\*\* \`6100\` \
Validation failed. errors array will have more information. Eg: { "code": 6100, "message": "Validation failed", "errors": \[ { "field": "name", "message": "name exceeds maximum length of 255 characters" }, { "field": "description", "message": "description exceeds maximum length of 1000 characters" } ] } \
\*\*Error Code:\*\* \`6021\` \
User not found with ID: 1W6kwwJQRL-1p9bsjdQvmw. \
\*\*Error Code:\*\* \`6003\` \
Cannot update call list that was not created via Open API. \
##### Status: 403 \*\*HTTP Status Code:\*\* \`403\` \
Forbidden \[Insufficient permissions to perform this operation] \*\*Error Code:\*\* \`6023\` \
User is not a Zoom Owner or Admin. \
##### Status: 404 \*\*HTTP Status Code:\*\* \`404\` \
Not Found \[Call list not found] \*\*Error Code:\*\* \`6001\` \
Call list does not exist. \
##### Status: 500 \*\*HTTP Status Code:\*\* \`500\` \
Internal Server Error \[An unexpected error occurred] \*\*Error Code:\*\* \`6200\` \
Internal server error. \
### List All Prospects in Call List
- **Method:** `GET`
- **Path:** `/dialer/call-lists/{callListId}/prospects`
- **Tags:** Prospect Management
Retrieve all prospects in a specific call list.
**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `dialer:read:admin`
**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `zoom_auto_dialer:read:prospects:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`
#### Responses
##### Status: 200 \*\*HTTP Status Code:\*\* \`200\` \
Successfully retrieved all prospects for the call list.
###### Content-Type: application/json
- **`prospects`**
`array` — List of prospects in the call list.
**Items:**
- **`annual_revenue`**
`number` — The annual revenue of the company.
- **`assignee_user_id`**
`string` — The user ID of the person to whom this prospect is assigned.
- **`call_list_id`**
`string` — The call list ID that this prospect belongs to.
- **`company`**
`string` — Company name.
- **`company_description`**
`string` — A description of the company.
- **`company_linkedIn_url`**
`string` — The company's LinkedIn profile URL.
- **`company_url`**
`string` — The company's website URL.
- **`create_time`**
`string` — The timestamp when the prospect was created (ISO-8601 format).
- **`custom_fields`**
`array` — An array of up to 10 custom field values.
**Items:**
`string` — A custom field value.
- **`department`**
`string` — Department
- **`description`**
`string` — Additional description or notes about the prospect.
- **`dialer_status`**
`string`, possible values: `"NOT_CALLED", "DIALING", "CONNECTED", "VOICEMAIL", "BUSY", "NO_ANSWER", "CANCELED", "FAILED"` — The outcome status of the dialer call: NOT\_CALLED, DIALING, CONNECTED, VOICEMAIL, BUSY, NO\_ANSWER, CANCELED, FAILED
- **`dialer_sub_status`**
`string`, possible values: `"CANCELED_BY_CALLER", "CANCELED_BY_CALLEE", "CALLED_BY_PBX", "ZP_ERROR", "ANSWER", "NOT_ANSWER"` — Sub-status of the dialer call: CANCELED\_BY\_CALLER, CANCELED\_BY\_CALLEE, CALLED\_BY\_PBX, ZP\_ERROR, ANSWER, NOT\_ANSWER
- **`email_addresses`**
`array` — Email addresses
**Items:**
- **`email`**
`string` — The email address.
- **`type`**
`string`, possible values: `"PRIMARY_EMAIL", "SECONDARY_EMAIL"`, default: `"PRIMARY_EMAIL"`
- **`email_domain`**
`string` — The email domain.
- **`external_id`**
`string` — The third-party UUID. This field is stored and returned as-is.
- **`import_from`**
`string` — The source from which the prospect was imported.
- **`industry`**
`string` — The industry sector.
- **`lead_linkedIn_url`**
`string` — The LinkedIn profile URL for the lead.
- **`lead_rating`**
`string` — The lead rating.
- **`lead_source`**
`string` — The source of the lead.
- **`lead_status`**
`string` — The current status of the lead.
- **`linkedIn_url`**
`string` — The LinkedIn profile URL for the contact.
- **`mailing_city`**
`string` — The mailing city.
- **`mailing_country`**
`string` — The mailing country.
- **`mailing_state`**
`string` — The mailing state or province.
- **`mailing_street`**
`string` — The mailing street address.
- **`mailing_zip_code`**
`string` — The mailing ZIP or postal code.
- **`modify_time`**
`string` — The timestamp when the prospect was last modified (ISO-8601 format).
- **`number_of_employees`**
`number` — The number of employees in the company.
- **`phone_numbers`**
`array` — Phone numbers.
**Items:**
- **`ext`**
`string` — The phone extension.
- **`number`**
`string` — The phone number.
- **`type`**
`string`, possible values: `"PRIMARY_PHONE", "MOBILE_PHONE", "HOME_PHONE", "OTHER_PHONE"`, default: `"PRIMARY_PHONE"` — Type of phone number: PRIMARY\_PHONE, MOBILE\_PHONE, HOME\_PHONE, OTHER\_PHONE
- **`primary_name`**
`string` — Primary name.
- **`prospect_id`**
`string` — The unique identifier for the prospect.
- **`prospect_type`**
`string`, possible values: `"CONTACT", "LEAD"` — The type of prospect: CONTACT or LEAD.
- **`secondary_name`**
`string` — Secondary name.
- **`title`**
`string` — Job title.
- **`topic`**
`string` — The topic or interest area.
- **`type`**
`string`, possible values: `"UPCOMING", "CALLED", "SNOOZED", "HISTORY", "NO_CALL_LIST", "REMOVED", "CALL_BACK_INBOUND"` — Prospect type enum: UPCOMING, CALLED, SNOOZED, HISTORY, NO\_CALL\_LIST, REMOVED, CALL\_BACK\_INBOUND
**Example:**
```json
{
"prospects": [
{
"prospect_id": "mq4XpiQISe6tlhHRwX9a8g",
"type": "UPCOMING",
"primary_name": "John Smith",
"secondary_name": "Johnny",
"title": "Senior Sales Manager",
"company": "Acme Corporation",
"department": "Sales",
"description": "Experienced sales professional with 10+ years in enterprise software",
"assignee_user_id": "0yT-QeXeQYqW6uizHEFmXA",
"call_list_id": "c-ncE_MXQACAjn3_I_35gg",
"dialer_status": "CANCELED",
"dialer_sub_status": "CANCELED_BY_CALLER",
"create_time": "2025-10-20T20:40:52.214+00:00",
"modify_time": "2025-10-20T20:40:52.223+00:00",
"prospect_type": "CONTACT",
"linkedIn_url": "https://linkedin.com/in/johnsmith-contact",
"lead_linkedIn_url": "https://linkedin.com/in/johndoe",
"company_linkedIn_url": "https://linkedin.com/company/acme-corp",
"company_url": "https://www.acme-corp.com",
"company_description": "Leading provider of enterprise software solutions",
"mailing_country": "United States",
"mailing_state": "California",
"mailing_city": "San Francisco",
"mailing_street": "123 Market Street, Suite 400",
"mailing_zip_code": "94105",
"import_from": "OPEN_API",
"number_of_employees": 100,
"annual_revenue": 500000,
"topic": "Cloud Solutions",
"email_domain": "acme.com",
"industry": "Technology",
"lead_status": "Qualified",
"lead_rating": "Hot",
"lead_source": "Website",
"custom_fields": [
"custom field 1"
],
"phone_numbers": [
{
"number": "1-555-123-4567",
"type": "PRIMARY_PHONE",
"ext": "1234"
}
],
"email_addresses": [
{
"email": "john.smith@acme-corp.com",
"type": "PRIMARY_EMAIL"
}
],
"external_id": "xxx-uuid"
}
]
}
```
##### Status: 403 \*\*HTTP Status Code:\*\* \`403\` \
Forbidden \*\*Error Code:\*\* \`6023\` \
User is not a Zoom Owner or Admin. \
##### Status: 404 \*\*HTTP Status Code:\*\* \`404\` \
Not Found \*\*Error Code:\*\* \`6022\` \
Call list not found with id: c-ncE\_MXQACAjn3\_I\_35gg. \
##### Status: 500 \*\*HTTP Status Code:\*\* \`500\` \
Internal Server Error \*\*Error Code:\*\* \`6200\` \
Internal server error. \
### Create Prospect
- **Method:** `POST`
- **Path:** `/dialer/call-lists/{callListId}/prospects`
- **Tags:** Prospect Management
Create and add a prospect to a call list
**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `dialer:write:admin`
**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `zoom_auto_dialer:write:prospects:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`
#### Request Body
##### Content-Type: application/json
- **`annual_revenue`**
`number` — Annual revenue of the company
- **`company`**
`string` — Company name (account name for contacts, company name for leads)
- **`company_description`**
`string` — Description of the company
- **`company_linkedIn_url`**
`string` — Company LinkedIn profile URL
- **`company_url`**
`string` — Company website URL
- **`custom_fields`**
`array` — Array of up to 10 custom field values
**Items:**
`string` — Custom field value
- **`department`**
`string` — Department of the prospect
- **`description`**
`string` — Additional description or notes
- **`email_addresses`**
`array` — Email addresses
**Items:**
- **`email`**
`string` — Email address in valid format
- **`type`**
`string`, possible values: `"PRIMARY_EMAIL", "SECONDARY_EMAIL"`, default: `"PRIMARY_EMAIL"`
- **`external_id`**
`string` — The third-party UUID. This field is stored and returned as-is.
- **`industry`**
`string` — Industry of the prospect
- **`lead_linkedIn_url`**
`string` — Lead LinkedIn profile URL
- **`lead_rating`**
`string` — Lead rating
- **`lead_source`**
`string` — Lead source
- **`lead_status`**
`string` — Current status of the lead
- **`linkedIn_url`**
`string` — Contact LinkedIn profile URL
- **`mailing_city`**
`string` — Mailing address city
- **`mailing_country`**
`string` — Mailing address country
- **`mailing_state`**
`string` — Mailing address state
- **`mailing_street`**
`string` — Mailing address street
- **`mailing_zip_code`**
`string` — Mailing address ZIP code
- **`number_of_employees`**
`number` — Number of employees in the company
- **`phone_numbers`**
`array` — Phone numbers. At least one phone number is required.
**Items:**
- **`ext`**
`string` — Phone extension number
- **`number`**
`string` — Phone number in valid format
- **`type`**
`string`, possible values: `"PRIMARY_PHONE", "MOBILE_PHONE", "HOME_PHONE", "OTHER_PHONE"`, default: `"PRIMARY_PHONE"` — Type of phone number: PRIMARY\_PHONE, MOBILE\_PHONE, HOME\_PHONE, OTHER\_PHONE
- **`primary_name`**
`string` — Primary name
- **`secondary_name`**
`string` — Secondary name
- **`title`**
`string` — Job title
- **`topic`**
`string` — Topic of interest
**Example:**
```json
{
"primary_name": "John Smith",
"secondary_name": "Johnny",
"title": "Senior Sales Manager",
"company": "Acme Corporation",
"department": "Sales",
"description": "Experienced sales professional with 10+ years in enterprise software",
"industry": "Technology",
"lead_source": "LinkedIn",
"lead_status": "Qualified",
"topic": "Enterprise Software Solutions",
"lead_rating": "Hot",
"number_of_employees": 5000,
"annual_revenue": 50000000,
"lead_linkedIn_url": "https://linkedin.com/in/johnsmith",
"linkedIn_url": "https://linkedin.com/in/johnsmith-contact",
"company_linkedIn_url": "https://linkedin.com/company/acme-corp",
"company_url": "https://www.acme-corp.com",
"company_description": "Leading provider of enterprise software solutions",
"mailing_country": "United States",
"mailing_state": "California",
"mailing_city": "San Francisco",
"mailing_street": "123 Market Street, Suite 400",
"mailing_zip_code": "94105",
"custom_fields": [
"custom field 1"
],
"phone_numbers": [
{
"number": "1-555-123-4567",
"type": "PRIMARY_PHONE",
"ext": "1234"
}
],
"email_addresses": [
{
"email": "john.smith@acme-corp.com",
"type": "PRIMARY_EMAIL"
}
],
"external_id": "xxxx-uuid"
}
```
#### Responses
##### Status: 201 \*\*HTTP Status Code:\*\* \`201\` Successfully created prospect for the call list
###### Content-Type: application/json
- **`primary_name`**
`string` — Primary name
- **`primary_phone`**
`string` — Primary phone number
- **`prospect_id`**
`string` — Auto-generated unique prospect ID
**Example:**
```json
{
"prospect_id": "mq4XpiQISe6tlhHRwX9a8g",
"primary_name": "John Smith",
"primary_phone": "+1-555-123-4567"
}
```
##### Status: 400 \*\*HTTP Status Code:\*\* \`400\` \
Bad Request \*\*Error Code:\*\* \`6003\` \
Call list not created via Open API. \
\*\*Error Code:\*\* \`6042\` \
Total prospects in the call list cannot exceed 10,000. Current: 9,999. \
\*\*Error Code:\*\* \`6100\` \
Validation failed. The \`error\` field will have more details. For example: { "code": 6100, "message": "Validation failed", "errors": \[ { "field": "primary\_name", "message": "At least one name field is required" } ] } \
##### Status: 403 \*\*HTTP Status Code:\*\* \`403\` \
Forbidden \*\*Error Code:\*\* \`6023\` \
User is not a Zoom Owner or Admin. \
##### Status: 404 \*\*HTTP Status Code:\*\* \`404\` \
Not Found \*\*Error Code:\*\* \`6001\` \
Call list not found with the provided ID. \
##### Status: 500 \*\*HTTP Status Code:\*\* \`500\` \
Internal Server Error \*\*Error Code:\*\* \`6200\` \
Internal server error. \
### Update Prospects batch
- **Method:** `PATCH`
- **Path:** `/dialer/call-lists/{callListId}/prospects`
- **Tags:** Prospect Management
Batch update existing prospects. Can also reassign prospects to a different call list.
**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `dialer:write:admin`
**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `zoom_auto_dialer:update:prospects:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`
#### Request Body
##### Content-Type: application/json
- **`prospects` (required)**
`array` — Array of prospect objects to update (maximum 1000 per API call).
**Items:**
- **`prospect_id` (required)**
`string` — The unique identifier of the prospect to update (required).
- **`annual_revenue`**
`number` — Company revenue.
- **`company`**
`string` — Company name (Account for contacts, Company for leads).
- **`company_description`**
`string` — Brief description of the company's business.
- **`company_linkedIn_url`**
`string` — LinkedIn company page URL.
- **`company_url`**
`string` — Official website URL of the company.
- **`custom_fields`**
`array` — Array of up to 10 custom field values for additional prospect information.
**Items:**
`string` — Custom field value for storing additional prospect data.
- **`department`**
`string` — Department of the prospect.
- **`description`**
`string` — Additional description or notes.
- **`email_addresses`**
`array` — Email addresses.
**Items:**
- **`email`**
`string` — Email address in valid format.
- **`type`**
`string`, possible values: `"PRIMARY_EMAIL", "SECONDARY_EMAIL"`
- **`external_id`**
`string` — The third-party UUID. This field is stored and returned as-is.
- **`industry`**
`string` — Industry of the prospect.
- **`lead_linkedIn_url`**
`string` — LinkedIn profile URL of the lead.
- **`lead_rating`**
`string` — Lead rating.
- **`lead_source`**
`string` — Lead source.
- **`lead_status`**
`string` — Current status of the lead.
- **`linkedIn_url`**
`string` — LinkedIn profile URL of the contact.
- **`mailing_city`**
`string` — City in the mailing address.
- **`mailing_country`**
`string` — Country in the mailing address.
- **`mailing_state`**
`string` — State or province in the mailing address.
- **`mailing_street`**
`string` — Street address including suite or unit number.
- **`mailing_zip_code`**
`string` — ZIP or postal code in the mailing address.
- **`number_of_employees`**
`number` — Company size.
- **`phone_numbers`**
`array` — Phone numbers.
**Items:**
- **`ext`**
`string` — Phone extension.
- **`number`**
`string` — Phone number in standard format.
- **`type`**
`string`, possible values: `"PRIMARY_PHONE", "MOBILE_PHONE", "HOME_PHONE", "OTHER_PHONE"` — Type of phone number: PRIMARY\_PHONE, MOBILE\_PHONE, HOME\_PHONE, OTHER\_PHONE
- **`primary_name`**
`string` — Primary name.
- **`secondary_name`**
`string` — Secondary name.
- **`title`**
`string` — Job title.
- **`topic`**
`string` — Topic of interest.
- **`assign_to_call_list_id`**
`string` — If provided, moves all prospects to a different call list (must be created via Open API).
**Example:**
```json
{
"prospects": [
{
"prospect_id": "mq4XpiQISe6tlhHRwX9a8g",
"primary_name": "John Smith",
"secondary_name": "Johnny",
"title": "Senior Sales Manager",
"company": "Acme Corporation",
"department": "Sales",
"description": "Experienced sales professional with 10+ years in enterprise software",
"industry": "Technology",
"lead_source": "LinkedIn",
"lead_status": "Qualified",
"topic": "Enterprise Software Solutions",
"lead_rating": "Hot",
"number_of_employees": 5000,
"annual_revenue": 50000000,
"lead_linkedIn_url": "https://linkedin.com/in/johnsmith",
"linkedIn_url": "https://linkedin.com/in/johnsmith-contact",
"company_linkedIn_url": "https://linkedin.com/company/acme-corp",
"company_url": "https://www.acme-corp.com",
"company_description": "Leading provider of enterprise software solutions",
"mailing_country": "United States",
"mailing_state": "California",
"mailing_city": "San Francisco",
"mailing_street": "123 Market Street, Suite 400",
"mailing_zip_code": "94105",
"custom_fields": [
"Updated custom field 1"
],
"phone_numbers": [
{
"number": "1-555-123-4567",
"type": "PRIMARY_PHONE",
"ext": "1234"
}
],
"email_addresses": [
{
"email": "john.smith@acme-corp.com",
"type": "PRIMARY_EMAIL"
}
],
"external_id": "xxxx-uuid"
}
],
"assign_to_call_list_id": "list999"
}
```
#### Responses
##### Status: 200 \*\*HTTP Status Code:\*\* \`200\` Successfully updated prospects for a call list. \*\*HTTP Status Code:\*\* \`207\` Multi-Status - Partial success. Some prospects were updated successfully while others failed.
###### Content-Type: application/json
- **`assigned_to_user_email`**
`string` — Email address of the user to whom the prospects are assigned.
- **`assigned_to_user_id`**
`string` — Unique identifier of the user to whom the prospects are assigned.
- **`failed_list`**
`array` — List of prospects that failed to update with error details.
**Items:**
- **`error_message`**
`string` — Specific validation error explaining why the prospect update failed.
- **`prospect_id`**
`string` — Unique identifier of the prospect that failed to update.
- **`success_list`**
`array` — List of prospects that were successfully updated.
**Items:**
- **`prospect_id`**
`string` — Unique identifier of the successfully updated prospect.
- **`total_failed`**
`number` — Total count of prospects that failed to update.
- **`total_processed`**
`number` — Total count of prospects that were successfully updated.
- **`total_prospects`**
`number` — Total number of prospects included in the update request.
**Example:**
```json
{
"success_list": [
{
"prospect_id": "ugtO21BNRvSBQshEmRnfEw"
}
],
"failed_list": [
{
"prospect_id": "GfX0-VReSpKp_bot3UlB8w",
"error_message": "VALIDATION_ERROR: Prospect does not belong to call list: _Wze-TJqSQODzsRc53tQPg"
}
],
"total_processed": 1,
"total_failed": 1,
"total_prospects": 2,
"assigned_to_user_id": "1W6kwwJQRL-1p9bsjdQvmw",
"assigned_to_user_email": "dev+anupamzradialer@zoomsandbox.us"
}
```
##### Status: 400 \*\*HTTP Status Code:\*\* \`400\` \
Bad Request \*\*Error Code:\*\* \`6201\` \
At least one prospect must be provided for update. \
\*\*Error Code:\*\* \`6043\` \
Maximum number of prospects for an API call exceeded - limit is 1000 prospects. \
\*\*Error Code:\*\* \`6003\` \
Call list not created via Open API. \
\*\*Error Code:\*\* \`6101\` \
Prospect ID is required for update operation. \
\*\*Error Code:\*\* \`6045\` \
At least one updatable field must be provided for the prospect: mq4XpiQISe6tlhHRwX9a8g. \
\*\*Error Code:\*\* \`6100\` \
Validation failed. The \`errors\` field will have more details. For example: { "code": 6001, "message": "Validation failed", "errors": \[ { "field": "primary\_email", "message": "Invalid email format" }, { "field": "primary\_phone", "message": "Invalid phone number format" }, { "field": "primary\_name", "message": "Field exceeds maximum length of 255 characters" } ] } \
##### Status: 403 \*\*HTTP Status Code:\*\* \`403\` \
Forbidden \*\*Error Code:\*\* \`6023\` \
User is not a Zoom Owner or Admin. \
##### Status: 404 \*\*HTTP Status Code:\*\* \`404\` \
Not Found \*\*Error Code:\*\* \`6001\` \
Call list not found with ID: c-ncE\_MXQACAjn3\_I\_35gg. \
\*\*Error Code:\*\* \`6001\` \
Assigned call list not found with ID: new-list-456. \
##### Status: 500 \*\*HTTP Status Code:\*\* \`500\` \
Internal Server Error \*\*Error Code:\*\* \`6200\` \
Internal server error. \
### Create Prospects batch
- **Method:** `POST`
- **Path:** `/dialer/call-lists/{callListId}/prospects/batch`
- **Tags:** Prospect Management
Batch call to add prospects to a call list.
**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `dialer:write:admin`
**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `zoom_auto_dialer:write:prospects:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`
#### Request Body
##### Content-Type: application/json
- **`prospects`**
`array` — Array of prospect objects to create (maximum 1,000 per API call).
**Items:**
- **`annual_revenue`**
`number` — Company revenue.
- **`company`**
`string` — Company name (Account for contacts, Company for leads).
- **`company_description`**
`string` — Description of the company.
- **`company_linkedIn_url`**
`string` — LinkedIn profile URL of the company.
- **`company_url`**
`string` — Website URL of the company.
- **`custom_fields`**
`array` — Array of custom field values (maximum 10 fields).
**Items:**
`string` — Custom field value.
- **`department`**
`string` — Department of the prospect.
- **`description`**
`string` — Additional description or notes.
- **`email_addresses`**
`array` — Email addresses.
**Items:**
- **`email`**
`string` — Email address.
- **`type`**
`string`, possible values: `"PRIMARY_EMAIL", "SECONDARY_EMAIL"`, default: `"PRIMARY_EMAIL"`
- **`external_id`**
`string` — The third-party UUID. This field is stored and returned as-is.
- **`industry`**
`string` — Industry of the prospect.
- **`lead_linkedIn_url`**
`string` — LinkedIn profile URL of the lead.
- **`lead_rating`**
`string` — Lead rating.
- **`lead_source`**
`string` — Lead source.
- **`lead_status`**
`string` — Current status of the lead.
- **`linkedIn_url`**
`string` — LinkedIn profile URL of the contact.
- **`mailing_city`**
`string` — City of the mailing address.
- **`mailing_country`**
`string` — Country of the mailing address.
- **`mailing_state`**
`string` — State of the mailing address.
- **`mailing_street`**
`string` — Street address of the mailing address.
- **`mailing_zip_code`**
`string` — ZIP code of the mailing address.
- **`number_of_employees`**
`number` — Number of employees in the company.
- **`phone_numbers`**
`array` — Phone numbers for the prospect. At least one phone number is required.
**Items:**
- **`ext`**
`string` — Phone extension.
- **`number`**
`string` — Phone number.
- **`type`**
`string`, possible values: `"PRIMARY_PHONE", "MOBILE_PHONE", "HOME_PHONE", "OTHER_PHONE"`, default: `"PRIMARY_PHONE"` — Type of phone number: PRIMARY\_PHONE, MOBILE\_PHONE, HOME\_PHONE, OTHER\_PHONE
- **`primary_name`**
`string` — Primary name.
- **`secondary_name`**
`string` — Secondary name.
- **`title`**
`string` — Job title.
- **`topic`**
`string` — Topic of interest.
**Example:**
```json
{
"prospects": [
{
"primary_name": "John Smith",
"secondary_name": "Johnny",
"title": "Senior Sales Manager",
"company": "Acme Corporation",
"department": "Sales",
"description": "Experienced sales professional with 10+ years in enterprise software",
"industry": "Technology",
"lead_source": "LinkedIn",
"lead_status": "Qualified",
"topic": "Enterprise Software Solutions",
"lead_rating": "Hot",
"number_of_employees": 5000,
"annual_revenue": 50000000,
"lead_linkedIn_url": "https://linkedin.com/in/johnsmith",
"linkedIn_url": "https://linkedin.com/in/johnsmith-contact",
"company_linkedIn_url": "https://linkedin.com/company/acme-corp",
"company_url": "https://www.acme-corp.com",
"company_description": "Leading provider of enterprise software solutions",
"mailing_country": "United States",
"mailing_state": "California",
"mailing_city": "San Francisco",
"mailing_street": "123 Market Street, Suite 400",
"mailing_zip_code": "94105",
"custom_fields": [
"custom field 1"
],
"phone_numbers": [
{
"number": "1-555-123-4567",
"type": "PRIMARY_PHONE",
"ext": "1234"
}
],
"email_addresses": [
{
"email": "john.smith@acme-corp.com",
"type": "PRIMARY_EMAIL"
}
],
"external_id": "xxx-uuid"
}
]
}
```
#### Responses
##### Status: 201 \*\*HTTP Status Code:\*\* \`201\` All prospects successfully created. Note: This status is returned only when ALL prospects in the batch are successfully created. For partial success or all failures, see status codes 207 and 400 respectively.
###### Content-Type: application/json
- **`assigned_to_user_email`**
`string` — Email address of the assigned user.
- **`assigned_to_user_id`**
`string` — User ID to whom all prospects are assigned.
- **`failed_list`**
`array` — List of prospects that failed creation with error messages.
**Items:**
- **`error_message`**
`string` — Specific validation error explaining why the prospect creation failed.
- **`name`**
`string` — Name.
- **`phone`**
`string` — Phone number.
- **`success_list`**
`array` — List of successfully created prospects with generated IDs.
**Items:**
- **`name`**
`string` — Name.
- **`phone`**
`string` — Phone number.
- **`prospect_id`**
`string` — Auto-generated unique prospect ID.
- **`total_failed`**
`number` — Number of prospects that failed validation or creation.
- **`total_processed`**
`number` — Number of prospects successfully created.
- **`total_prospects`**
`number` — Total number of prospects in the request.
**Example:**
```json
{
"success_list": [
{
"prospect_id": "mq4XpiQISe6tlhHRwX9a8g",
"name": "John Smith",
"phone": "+1-555-123-4567"
}
],
"failed_list": [
{
"phone": "+1-555-123-4567",
"name": "John Smith",
"error_message": "VALIDATION_ERROR: Invalid phone number format"
}
],
"total_processed": 5,
"total_failed": 2,
"total_prospects": 7,
"assigned_to_user_id": "0yT-QeXeQYqW6uizHEFmXA",
"assigned_to_user_email": "dev+john_doe_zradialer@zoomsandbox.us"
}
```
##### Status: 400 \*\*HTTP Status Code:\*\* \`400\` \
Bad Request \*\*Error Code:\*\* \`6043\` \
Maximum number of prospects for an API call exceeded - limit is 1000 prospects \
\*\*Error Code:\*\* \`6003\` \
Call list not created via Open API \
\*\*Error Code:\*\* \`6042\` \
Total prospects in call list cannot exceed 10000. Current: 9500, Adding: 600, Total would be: 10100 \
##### Status: 403 \*\*HTTP Status Code:\*\* \`403\` \
Forbidden \*\*Error Code:\*\* \`6023\` \
User is not a Zoom Owner or Admin. \
##### Status: 404 \*\*HTTP Status Code:\*\* \`404\` \
Not Found \*\*Error Code:\*\* \`6001\` \
Call list not found with id: c-ncE\_MXQACAjn3\_I\_35gg. \
##### Status: 500 \*\*HTTP Status Code:\*\* \`500\` \
Internal Server Error \*\*Error Code:\*\* \`6200\` \
Internal server error. \
### Delete Prospect
- **Method:** `DELETE`
- **Path:** `/dialer/call-lists/{callListId}/prospects/{prospectId}`
- **Tags:** Prospect Management
Delete a single prospect from a call list by its ID.
**Limitation:** Currently, deletion is supported only for prospects belonging to call lists created through Open APIs. A future update will expand support to all call lists.
**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `dialer:write:admin`
**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `zoom_auto_dialer:delete:prospects:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`
#### Responses
##### Status: 204 \*\*HTTP Status Code:\*\* \`204\` \
Successfully deleted the prospect. No response body.
##### Status: 400 \*\*HTTP Status Code:\*\* \`400\` \
Bad Request \*\*Error Code:\*\* \`6003\` \
Call list not created via Open API \
\*\*Error Code:\*\* \`6041\` \
Prospect does not belong to call list: 0yT-QeXeQYqW6uizHEFmXA \
##### Status: 403 \*\*HTTP Status Code:\*\* \`403\` \
Forbidden \*\*Error Code:\*\* \`6023\` \
User is not a Zoom Owner or an Admin. \
##### Status: 404 \*\*HTTP Status Code:\*\* \`404\` \
Not Found \*\*Error Code:\*\* \`6001\` \
Call list not found with ID: 0yT-QeXeQYqW6uizHEFmXA \
\*\*Error Code:\*\* \`6040\` \
Prospect not found with id: GfX0-VReSpKp\_bot3UlB8w \
##### Status: 500 \*\*HTTP Status Code:\*\* \`500\` \
Internal Server Error \*\*Error Code:\*\* \`6200\` \
Internal server error. \
### Update Prospect
- **Method:** `PATCH`
- **Path:** `/dialer/call-lists/{callListId}/prospects/{prospectId}`
- **Tags:** Prospect Management
Update an existing prospect. Can also reassign prospect to a different call list.
**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `dialer:write:admin`
**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `zoom_auto_dialer:update:prospects:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`
#### Request Body
##### Content-Type: application/json
- **`annual_revenue`**
`number` — Company revenue.
- **`assign_to_call_list_id`**
`string` — If provided, moves the prospect to a different call list (must be created via Open API).
- **`company`**
`string` — Company name (Account for contacts, Company for leads).
- **`company_description`**
`string` — Description of the prospect's company.
- **`company_linkedIn_url`**
`string` — Company's LinkedIn profile URL.
- **`company_url`**
`string` — Company's website URL.
- **`custom_fields`**
`array` — Array of up to 10 custom field values for additional prospect information.
**Items:**
`string` — Custom field value.
- **`department`**
`string` — Department of the prospect.
- **`description`**
`string` — Additional description or notes about the prospect.
- **`email_addresses`**
`array` — Array of email addresses for the prospect (maximum 2).
**Items:**
- **`email`**
`string` — Email address in valid format.
- **`type`**
`string`, possible values: `"PRIMARY_EMAIL", "SECONDARY_EMAIL"`
- **`external_id`**
`string` — Third-party UUID. This field is stored and returned as-is.
- **`industry`**
`string` — Industry of the prospect's company.
- **`lead_linkedIn_url`**
`string` — Lead's LinkedIn profile URL.
- **`lead_rating`**
`string` — Lead rating.
- **`lead_source`**
`string` — Lead source.
- **`lead_status`**
`string` — Current status of the lead.
- **`linkedIn_url`**
`string` — Contact's LinkedIn profile URL.
- **`mailing_city`**
`string` — Mailing address city.
- **`mailing_country`**
`string` — Mailing address country.
- **`mailing_state`**
`string` — Mailing address state or province.
- **`mailing_street`**
`string` — Mailing address street and suite information.
- **`mailing_zip_code`**
`string` — Mailing address ZIP or postal code.
- **`number_of_employees`**
`number` — Company size.
- **`phone_numbers`**
`array` — Array of phone numbers for the prospect (maximum 4).
**Items:**
- **`ext`**
`string` — Phone extension number.
- **`number`**
`string` — Phone number in valid format.
- **`type`**
`string`, possible values: `"PRIMARY_PHONE", "MOBILE_PHONE", "HOME_PHONE", "OTHER_PHONE"` — Type of phone number: PRIMARY\_PHONE, MOBILE\_PHONE, HOME\_PHONE, OTHER\_PHONE
- **`primary_name`**
`string` — Primary name.
- **`secondary_name`**
`string` — Secondary name.
- **`title`**
`string` — Job title.
- **`topic`**
`string` — Topic of interest.
**Example:**
```json
{
"primary_name": "John Smith",
"secondary_name": "Johnny",
"title": "Senior Sales Manager",
"company": "Acme Corporation",
"department": "Sales",
"description": "Experienced sales professional with 10+ years in enterprise software",
"industry": "Technology",
"lead_source": "LinkedIn",
"lead_status": "Qualified",
"topic": "Enterprise Software Solutions",
"lead_rating": "Hot",
"number_of_employees": 5000,
"annual_revenue": 50000000,
"lead_linkedIn_url": "https://linkedin.com/in/johnsmith",
"linkedIn_url": "https://linkedin.com/in/johnsmith-contact",
"company_linkedIn_url": "https://linkedin.com/company/acme-corp",
"company_url": "https://www.acme-corp.com",
"company_description": "Leading provider of enterprise software solutions",
"mailing_country": "United States",
"mailing_state": "California",
"mailing_city": "San Francisco",
"mailing_street": "123 Market Street, Suite 400",
"mailing_zip_code": "94105",
"assign_to_call_list_id": "ncwoeif_dgfjeo34m",
"custom_fields": [
"Updated custom field 1"
],
"phone_numbers": [
{
"number": "1-555-123-4567",
"type": "PRIMARY_PHONE",
"ext": "1234"
}
],
"email_addresses": [
{
"email": "john.smith@acme-corp.com",
"type": "PRIMARY_EMAIL"
}
],
"external_id": "xxxyyy-ydyd"
}
```
#### Responses
##### Status: 204 \*\*HTTP Status Code:\*\* \`204\` \
Successfully updated prospect
##### Status: 400 \*\*HTTP Status Code:\*\* \`400\` \
Bad Request \*\*Error Code:\*\* \`6003\` \
Call list not created via Open API. \
\*\*Error Code:\*\* \`6041\` \
Prospect does not belong to call list: c-ncE\_MXQACAjn3\_I\_35gg. \
\*\*Error Code:\*\* \`6045\` \
At least one updatable field must be provided for prospect: mq4XpiQISe6tlhHRwX9a8g. \
\*\*Error Code:\*\* \`6100\` \
Validation failed. The \`errors\` field will have more details. For example: { "code": 6001, "message": "Validation failed", "errors": \[ { "field": "primary\_email", "message": "Invalid email format" }, { "field": "primary\_phone", "message": "Invalid phone number format" }, { "field": "primary\_name", "message": "Field exceeds maximum length of 255 characters" } ] } \
##### Status: 403 \*\*HTTP Status Code:\*\* \`403\` \
Forbidden \*\*Error Code:\*\* \`6023\` \
User is not a Zoom Owner or Admin. \
##### Status: 404 \*\*HTTP Status Code:\*\* \`404\` \
Not Found \*\*Error Code:\*\* \`6001\` \
Call list not found with id: c-ncE\_MXQACAjn3\_I\_35gg. \
\*\*Error Code:\*\* \`6040\` \
Prospect not found with id: mq4XpiQISe6tlhHRwX9a8g. \
\*\*Error Code:\*\* \`6001\` \
Assigned call list not found with id: ncwoeif\_dgfjeo34m. \
##### Status: 500 \*\*HTTP Status Code:\*\* \`500\` \
Internal Server Error \*\*Error Code:\*\* \`6200\` \
Internal server error. \
### Get Prospect by ID
- **Method:** `GET`
- **Path:** `/dialer/prospects/{prospectId}`
- **Tags:** Prospect Management
Retrieve details of a specific prospect.
**[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `dialer:read:admin`
**[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `zoom_auto_dialer:read:prospects:admin`
**[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT`
#### Responses
##### Status: 200 \*\*HTTP Status Code:\*\* \`200\` Successfully retrieved the prospect by ID.
###### Content-Type: application/json
- **`annual_revenue`**
`number` — Annual revenue of the company.
- **`assignee_user_id`**
`string` — User ID to whom this prospect is assigned.
- **`call_list_id`**
`string` — Call list ID this prospect belongs to.
- **`company`**
`string` — Company name.
- **`company_description`**
`string` — Company description.
- **`company_linkedIn_url`**
`string` — Company LinkedIn profile URL.
- **`company_url`**
`string` — Company website URL.
- **`create_time`**
`string` — When the prospect was created (ISO 8601 format with timezone).
- **`custom_fields`**
`array` — Array of up to 10 custom field values.
**Items:**
`string` — Custom field value.
- **`department`**
`string` — Department.
- **`description`**
`string` — Additional description or notes about the prospect.
- **`dialer_status`**
`string`, possible values: `"NOT_CALLED", "DIALING", "CONNECTED", "VOICEMAIL", "BUSY", "NO_ANSWER", "CANCELED", "FAILED"` — The outcome status of the dialer call: NOT\_CALLED, DIALING, CONNECTED, VOICEMAIL, BUSY, NO\_ANSWER, CANCELED, FAILED
- **`dialer_sub_status`**
`string`, possible values: `"CANCELED_BY_CALLER", "CANCELED_BY_CALLEE", "CALLED_BY_PBX", "ZP_ERROR", "ANSWER", "NOT_ANSWER"` — Sub-status of the dialer call: CANCELED\_BY\_CALLER, CANCELED\_BY\_CALLEE, CALLED\_BY\_PBX, ZP\_ERROR, ANSWER, NOT\_ANSWER
- **`email_addresses`**
`array` — Email addresses.
**Items:**
- **`email`**
`string` — Email address.
- **`type`**
`string`, possible values: `"PRIMARY_EMAIL", "SECONDARY_EMAIL"`, default: `"PRIMARY_EMAIL"`
- **`email_domain`**
`string` — Email domain of the prospect.
- **`external_id`**
`string` — The third-party UUID. This field is stored and returned as-is.
- **`import_from`**
`string` — Import source of the prospect.
- **`industry`**
`string` — Industry sector.
- **`lead_linkedIn_url`**
`string` — LinkedIn profile URL for the lead.
- **`lead_rating`**
`string` — Lead rating.
- **`lead_source`**
`string` — Lead source.
- **`lead_status`**
`string` — Current status of the lead.
- **`linkedIn_url`**
`string` — LinkedIn profile URL for the contact.
- **`mailing_city`**
`string` — Mailing city.
- **`mailing_country`**
`string` — Mailing country.
- **`mailing_state`**
`string` — Mailing state or province.
- **`mailing_street`**
`string` — Mailing street address.
- **`mailing_zip_code`**
`string` — Mailing ZIP or postal code.
- **`modify_time`**
`string` — When the prospect was last modified (ISO 8601 format with timezone).
- **`number_of_employees`**
`number` — Number of employees in the company.
- **`phone_numbers`**
`array` — Phone numbers.
**Items:**
- **`ext`**
`string` — Phone extension.
- **`number`**
`string` — Phone number.
- **`type`**
`string`, possible values: `"PRIMARY_PHONE", "MOBILE_PHONE", "HOME_PHONE", "OTHER_PHONE"` — Type of phone number: PRIMARY\_PHONE, MOBILE\_PHONE, HOME\_PHONE, OTHER\_PHONE
- **`primary_name`**
`string` — Primary name.
- **`prospect_id`**
`string` — Unique identifier of the prospect.
- **`prospect_type`**
`string`, possible values: `"CONTACT", "LEAD"` — Type of prospect: CONTACT, LEAD
- **`secondary_name`**
`string` — Secondary name.
- **`title`**
`string` — Job title.
- **`topic`**
`string` — Topic or interest area.
- **`type`**
`string`, possible values: `"UPCOMING", "CALLED", "SNOOZED", "HISTORY", "NO_CALL_LIST", "REMOVED", "CALL_BACK_INBOUND"` — Prospect type enum: UPCOMING, CALLED, SNOOZED, HISTORY, NO\_CALL\_LIST, REMOVED, CALL\_BACK\_INBOUND
**Example:**
```json
{
"prospect_id": "mq4XpiQISe6tlhHRwX9a8g",
"type": "UPCOMING",
"primary_name": "John Smith",
"secondary_name": "Johnny",
"title": "Senior Sales Manager",
"company": "Acme Corporation",
"department": "Sales",
"description": "Experienced sales professional with 10+ years in enterprise software",
"assignee_user_id": "0yT-QeXeQYqW6uizHEFmXA",
"call_list_id": "c-ncE_MXQACAjn3_I_35gg",
"dialer_status": "CANCELED",
"dialer_sub_status": "CANCELED_BY_CALLER",
"create_time": "2025-10-20T20:40:52.214+00:00",
"modify_time": "2025-10-20T20:40:52.223+00:00",
"prospect_type": "CONTACT",
"linkedIn_url": "https://linkedin.com/in/johnsmith-contact",
"lead_linkedIn_url": "https://linkedin.com/in/johndoe",
"company_linkedIn_url": "https://linkedin.com/company/acme-corp",
"company_url": "https://www.acme-corp.com",
"company_description": "Leading provider of enterprise software solutions",
"mailing_country": "United States",
"mailing_state": "California",
"mailing_city": "San Francisco",
"mailing_street": "123 Market Street, Suite 400",
"mailing_zip_code": "94105",
"import_from": "OPEN_API",
"number_of_employees": 100,
"annual_revenue": 500000,
"topic": "Cloud Solutions",
"email_domain": "acme.com",
"industry": "Technology",
"lead_status": "Qualified",
"lead_rating": "Hot",
"lead_source": "Website",
"custom_fields": [
"custom field 1"
],
"phone_numbers": [
{
"number": "1-555-123-4567",
"type": "PRIMARY_PHONE",
"ext": "1234"
}
],
"email_addresses": [
{
"email": "john.smith@acme-corp.com",
"type": "PRIMARY_EMAIL"
}
],
"external_id": "xxxx-uuid"
}
```
##### Status: 403 \*\*HTTP Status Code:\*\* \`403\` \
Forbidden \*\*Error Code:\*\* \`6023\` \
User is not a Zoom Owner or Admin. \
##### Status: 404 \*\*HTTP Status Code:\*\* \`404\` \
Not Found \*\*Error Code:\*\* \`6040\` \
Prospect not found with the provided ID. \
##### Status: 500 \*\*HTTP Status Code:\*\* \`500\` \
Internal Server Error \*\*Error Code:\*\* \`6200\` \
Internal server error. \