Create Contact List API-v2¶
Use this API to create a new contact list for use in passive voice campaigns.
| Method | POST |
|---|---|
| Endpoint | https://{{host}}/campaign/api/v2/public/{{streamId}}/campaign/contactList/createContactList?accountId={{accountId}} |
| Content-Type | application/json |
| Authorization | auth: {{JWT}}See How to generate the JWT Token. |
| API Scope | Campaign Management |
Path Parameters¶
| Parameter | Description | Type |
|---|---|---|
host |
Environment URL, for example, https://platform.kore.ai |
string, required |
streamId |
Bot ID or Stream ID. You can get it from the general settings page. | string, required |
Sample Request¶
curl --location 'https://{{host}}/campaign/api/v2/public/{{streamId}}/campaign/contactList/createContactList?accountId={{accountId}}' \
--header 'auth: <token>' \
--header 'Content-Type: application/json' \
--header 'iid: st-0603182c-7ffb-53c3-b307-47ca14bxxxxx' \
--header 'accountId: 67777ce93e25326494exxxxx' \
--data '{
"name": "Renewal Due 1- July 2025",
"description": "This list contains customers with services expiring in July 2025. It includes contact details and subscription info to help agents provide tailored support during live calls.",
"source": "passiveApi",
"allowDuplicates": true
}'
Headers¶
| Header | Description | Required/Optional |
|---|---|---|
auth |
JWT token for authentication. | required |
iid |
The Application Id. | required |
accountId |
The Account Id. | required |
Body Parameters¶
| Parameter | Description | Type |
|---|---|---|
name |
Name of the contact list. Max 48 characters. Used to identify and display the list across the platform. | string, required |
description |
Description of the contact list. Max 256 characters. Should briefly explain the list’s purpose and audience. | string, required |
source |
Data origin/source. Must be "passiveApi", indicating the list is populated via API rather than file/manual upload. |
string, required |
allowDuplicates |
Whether to allow duplicate contact entries in the list. Defaults to false if not provided. Must be a boolean value. |
boolean, optional |
Sample Response¶
{
"status": "success",
"message": "Contact list Renewal Due 1- July 2025 created successfully",
"data": {
"isActive": true,
"name": "Renewal Due 1- July 2025",
"description": "This list contains customers with services expiring in July 2025. It includes contact details and subscription info to help agents provide tailored support during live calls.",
"totalRecordCount": 0,
"status": "Ready",
"createdBy": "u-eb5bbee1-6af9-5b9a-b471-03a3fe4xxxxx",
"updatedBy": "u-eb5bbee1-6af9-5b9a-b471-03a3fe4xxxxx",
"mapping": {
"firstName": "firstName",
"lastName": "lastName",
"phoneNumber": "phoneNumber",
"timeZone": "timeZone",
"uniqueId": "uniqueId",
"contactPriority": "contactPriority"
},
"isListInUse": false,
"listType": "call",
"isGlobalDNC": false,
"isDefault": false,
"campaignInUse": [],
"source": "passiveApi",
"apiConfigurations": {
"dataSyncMode": "allowDuplicates"
},
"columns": [],
"files": [],
"createdAt": "2025-12-05T09:22:51.001Z",
"updatedAt": "2025-12-05T09:22:51.001Z",
"_id": "cl-67a405c-ae3b-4a42-8cd2-5dcd699xxxxx",
"allowDuplicates": true
}
}
Response Parameters¶
| Parameter | Description | Type |
|---|---|---|
| status | Indicates the overall response status. Example: "success" |
string |
| message | Descriptive message about the result. | string |
| data | Contains the contact list details. | object |
data.isActive |
Indicates if the contact list is active | boolean |
data.name |
Name of the contact list | string |
data.description |
Description of the contact list | string |
data.totalRecordCount |
Number of records currently in the list | number |
data.status |
Current state of the contact list. Usually Ready |
string |
data.createdAt |
Timestamp when the list was created (ISO format) | string |
data.updatedAt |
Timestamp when the list was last updated (ISO format) | string |
data.mapping |
Field mapping for contact data. | object |
data.mapping.firstName |
Field mapped to the contact’s first name. | string |
data.mapping.lastName |
Field mapped to the contact’s last name. | string |
data.mapping.phoneNumber |
Field mapped to the contact’s phone number | string |
data.mapping.timeZone |
Field mapped to the contact’s time zone. | string |
data.mapping.uniqueId |
Field used as the unique identifier for each contact. | string |
data.mapping.contactPriority |
Field representing the priority of the contact. | string |
data.isListInUse |
Indicates if the contact list is currently associated with any campaign | boolean |
data.listType |
Type of list. Value is call for voice campaigns |
string |
data.isGlobalDNC |
Indicates whether the list is part of the global Do Not Call list. | boolean |
data.isDefault |
Indicates whether this is the system’s default contact list. | boolean |
data.campaignInUse |
List of campaigns (IDs) currently using this list (empty if unused) | array |
data.source |
Source of list creation. For passive API, the value is passiveApi |
string |
data.apiConfigurations |
Contains passive API sync configuration (for example, dataSyncMode) |
object |
data.apiConfigurations.dataSyncMode |
Describes how the API handles duplicate entries (allowDuplicates) |
string |
data.columns |
User-defined column metadata for contacts | array |
data.files |
List of file objects, if any uploaded via UI or API (empty for passive API) | array |
data.createdBy |
Internal ID of the user who created the list | string |
data.updatedBy |
Internal ID of the user who last updated the list | string |
data._id |
Unique ID of the contact list | string |
data.allowDuplicates |
Indicates if duplicate contact records are allowed | boolean |