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