Skip to main content
Back to API List

Create Contact List API-v2

Use this API to create a new contact list for use in passive voice campaigns.
MethodPOST
Endpointhttps://{{host}}/campaign/api/v2/public/{{streamId}}/campaign/contactList/createContactList?accountId={{accountId}}
Content-Typeapplication/json
Authorizationauth: {{JWT}} See How to generate the JWT Token.
API ScopeCampaign Management

Path Parameters

ParameterDescriptionType
hostEnvironment URL, for example, https://platform.kore.aistring, required
streamIdBot 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

HeaderDescriptionRequired/Optional
authJWT token for authentication.required
iidThe Application Id.required
accountIdThe Account Id.required

Body Parameters

ParameterDescriptionType
nameName of the contact list. Max 48 characters. Used to identify and display the list across the platform.string, required
descriptionDescription of the contact list. Max 256 characters. Should briefly explain the list’s purpose and audience.string, required
sourceData origin/source. Must be "passiveApi", indicating the list is populated via API rather than file/manual upload.string, required
allowDuplicatesWhether 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

ParameterDescriptionType
statusIndicates the overall response status. Example: "success"string
messageDescriptive message about the result.string
dataContains the contact list details.object
data.isActiveIndicates if the contact list is activeboolean
data.nameName of the contact liststring
data.descriptionDescription of the contact liststring
data.totalRecordCountNumber of records currently in the listnumber
data.statusCurrent state of the contact list. Usually Readystring
data.createdAtTimestamp when the list was created (ISO format)string
data.updatedAtTimestamp when the list was last updated (ISO format)string
data.mappingField mapping for contact data.object
data.mapping.firstNameField mapped to the contact’s first name.string
data.mapping.lastNameField mapped to the contact’s last name.string
data.mapping.phoneNumberField mapped to the contact’s phone numberstring
data.mapping.timeZoneField mapped to the contact’s time zone.string
data.mapping.uniqueIdField used as the unique identifier for each contact.string
data.mapping.contactPriorityField representing the priority of the contact.string
data.isListInUseIndicates if the contact list is currently associated with any campaignboolean
data.listTypeType of list. Value is call for voice campaignsstring
data.isGlobalDNCIndicates whether the list is part of the global Do Not Call list.boolean
data.isDefaultIndicates whether this is the system’s default contact list.boolean
data.campaignInUseList of campaigns (IDs) currently using this list (empty if unused)array
data.sourceSource of list creation. For passive API, the value is passiveApistring
data.apiConfigurationsContains passive API sync configuration (for example, dataSyncMode)object
data.apiConfigurations.dataSyncModeDescribes how the API handles duplicate entries (allowDuplicates)string
data.columnsUser-defined column metadata for contactsarray
data.filesList of file objects, if any uploaded via UI or API (empty for passive API)array
data.createdByInternal ID of the user who created the liststring
data.updatedByInternal ID of the user who last updated the liststring
data._idUnique ID of the contact liststring
data.allowDuplicatesIndicates if duplicate contact records are allowedboolean