Skip to content

Back to API List

Create Voice Campaign API - Preview Mode-v2

Use this API to create a voice campaign that uses Preview dialing mode. In this mode, agents review contact information before initiating calls. The campaign routes answered calls to a specified agent queue.

Method POST
Endpoint https://{{url}}/campaign/api/v2/public/{{streamId}}/campaign?accountId={{accountId}}&campaignType=voice
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

Query Parameter

Parameter Description Type
campaignType Type of Campaign. Use voice. string, required

Sample Request

curl --location 'https://{{url}}/campaign/api/v2/public/{{streamId}}/campaign?accountId={{accountId}}&campaignType=voice' \
--header 'auth: <token>' \
--header 'Content-Type: application/json' \
--header 'accountid: {{accountId}}' \
--header 'iid: {{streamId}}' \
--data '{
    "name": "Billing Reminder Voice Campaign1",
    "description": "Progressive dialing campaign to remind customers about upcoming bill payments. Connects to an agent if available, else plays a recorded message",
    "contactLists": [
        "CL Only 2020 Dec 4"
    ],
        "dncLists": {
        "name": "DNC CL Dec 4"
    },
    "priority": "5",
    "dialingMode": "Preview",
    "dialingStrategy": {
        "callerId": {
            "phoneNumber": "+181633xxxxx"
        },
        "callingHours": {
            "frequency": "WEEKLY",
            "timezone": "Asia/Kolkata",
            "days": [
                {
                    "day": "MO",
                    "start": "9:00 AM",
                    "end": "6:00 PM"
                },
                {
                    "day": "TU",
                    "start": "9:00 AM",
                    "end": "6:00 PM"
                },
                {
                    "day": "WE",
                    "start": "9:00 AM",
                    "end": "6:00 PM"
                },
                {
                    "day": "TH",
                    "start": "9:00 AM",
                    "end": "6:00 PM"
                },
                {
                    "day": "FR",
                    "start": "9:00 AM",
                    "end": "6:00 PM"
                }
            ]
        },
        "dialingOrder": "FIFO",
        "maxAttemptsPerRecord": 3,
        "defaultRetryPeriod": 10,
        "maxRingTime": 30
    },
    "schedule": {
        "isSchedulingEnabled": false
    },
    "queue_name": "Default Queue",
    "maxSkips": 1,
    "campaignType": "voice"
}'

Headers

Header Description Required/Optional
auth JWT token for authentication. string, required
iid The application ID. string, required
accountId The Account Id. string, required

Body Parameters

Parameters Description Type
name Name of the campaign. The name must be a maximum of 48 characters. string, required
description Description of the campaign’s objective. The description must be a maximum of 256 characters. string, required
contactLists List of contact list names. These must already exist. At least one contact list name is required. array[string], required
dncLists Contains the contact lists added under the Do Not Call (DNC) list. object, required
dncLists.name The name of the contact list included in the Do Not Call (DNC) list. string, required
priority Campaign priority. Higher values indicate higher execution priority. Priority must be one of the following: 1, 2, 3, 4, or 5 string, required
dialingMode Dialing mode defines how calls are handled. Valid values are: Agentless, Progressive, or Preview. string, required
dialingStrategy.callerId.phoneNumber Caller ID number to display when calling. Must be a verified number. string, required
dialingStrategy.callingHours.frequency Frequency of calling hours must be one of: WEEKLY, DAILY, or CUSTOM. string, required
dialingStrategy.callingHours.timezone Timezone in which calling hours should be enforced, example, "Asia/Kolkata". string, required
dialingStrategy.callingHours.days List of allowed calling time blocks. Each object should include:
• day: 'MO', 'TU', 'WE', 'TH', 'FR', 'SA', 'SU'
• start: "9:00 AM"
• end: "6:00 PM" You can define multiple entries to cover different days and time slots.
array[object], required
dialingStrategy.dialingOrder Order in which contacts are dialed: "FIFO" (First In First Out) or "LIFO" (Last In First Out). string, required
dialingStrategy.maxAttemptsPerRecord Maximum number of call attempts per contact. Minimum is 1 and maximum is 100. number, required
dialingStrategy.defaultRetryPeriod Time (in minutes) to wait between retries. Must be between 1 and 1440. number, required
dialingStrategy.maxRingTime Max time (in seconds) the phone should ring before disconnecting. Must be between 5 and 120. number, required
queue_name Name of the agent queue used for connecting calls in the campaign. string, required
maxSkips Number of contact skips allowed for agents in preview mode before the record is flagged. number, required
campaignType Type of campaign. Must be either 'voice' or 'sms'. string, required

Sample Response

{
    "status": "success",
    "message": "Campaign Billing Reminder Voice Campaign1 creation in progress",
    "data": {
        "name": "Billing Reminder Voice Campaign1",
        "lname": "billing reminder voice campaign1",
        "description": "Progressive dialing campaign to remind customers about upcoming bill payments. Connects to an agent if available, else plays a recorded message",
        "dncLists": {
            "id": "cl-68b802a-2b99-4245-8eea-6d322a8xxxxx",
            "name": "DNC CL Dec 4"
        },
        "priority": "5",
        "dialingMode": "Preview",
        "dialingStrategy": {
            "callerId": {
                "phoneNumber": "+181633xxxxx"
            },
            "callingHours": {
                "frequency": "WEEKLY",
                "days": [
                    {
                        "start": "9:00 AM",
                        "end": "6:00 PM",
                        "day": "MO"
                    },
                    {
                        "start": "9:00 AM",
                        "end": "6:00 PM",
                        "day": "TU"
                    },
                    {
                        "start": "9:00 AM",
                        "end": "6:00 PM",
                        "day": "WE"
                    },
                    {
                        "start": "9:00 AM",
                        "end": "6:00 PM",
                        "day": "TH"
                    },
                    {
                        "start": "9:00 AM",
                        "end": "6:00 PM",
                        "day": "FR"
                    }
                ],
                "timezone": "Asia/Kolkata"
            },
            "dialingOrder": "FIFO",
            "maxAttemptsPerRecord": 3,
            "defaultRetryPeriod": 10,
            "maxRingTime": 30,
            "useSystemMappings": false
        },
        "status": "Preparing",
        "maxSkips": 1,
        "isFiltersEnabled": false,
        "createdAt": "2025-12-04T11:05:52.809Z",
        "updatedAt": "2025-12-04T11:05:52.809Z",
        "id": "cd-b2c1690-0a1b-497c-9326-1bdd229xxxxx",
        "contactLists": [
            "CL Only 2020 Dec 4"
        ]
    }
}

Response Parameters

Parameter Description Type
status Indicates the overall response status. Example: "success" string
message Descriptive message about the result. string
data Contains the campaign configuration details. object
data.name Display name of the campaign. string
data.lname Lowercase name of the campaign, used internally. string
data.description Description of the campaign purpose and functionality. string
data.dncLists Contains the contact lists added under the Do Not Call (DNC) list. object
data.dncLists.id Unique identifier of the contact list in the DNC list. string (UUID)
data.dncLists.name The name of the contact list included in the Do Not Call (DNC) list. string
data.priority Campaign priority level. String
data.dialingMode Dialing mode used for the campaign. Example: "Progressive" string
data.dialingStrategy Defines dialing strategy configuration. object
data.dialingStrategy.callerId Contains the caller details. object
data.dialingStrategy.callerId.phoneNumber Caller ID phone number used for outbound calls. string
data.dialingStrategy.callingHours Defines the allowed calling hours and schedule. object
data.dialingStrategy.callingHours.frequency Calling frequency. Example: "WEEKLY" string
data.dialingStrategy.callingHours.days Daily schedules with start/end time and day. array of object
data.dialingStrategy.callingHours.days[].start Start time of calling window. (hh:mm AM/PM) string
data.dialingStrategy.callingHours.days[].end End time of calling window. (hh:mm AM/PM) string
data.dialingStrategy.callingHours.days[].day Day of the week. (2-letter) Example: "MO", "TU" string
data.dialingStrategy.callingHours.timezone Timezone used for the calling schedule. Example: "Asia/Kolkata" string
data.dialingStrategy.dialingOrder Order in which records are dialed. Example: "FIFO" string
data.dialingStrategy.maxAttemptsPerRecord Maximum retry attempts for each record. integer
data.dialingStrategy.defaultRetryPeriod Default wait time between retries. (minutes) integer
data.dialingStrategy.maxRingTime Maximum ring time before hanging up. (seconds) integer
data.dialingStrategy.useSystemMappings Indicates whether system-defined mapping rules are applied. Example: false Boolean
data.status Current state of the campaign. Example: "Preparing" string
data.maxSkips Maximum number of skips allowed before dropping a contact from the dialing list. Integer
data.isFiltersEnabled Indicates whether campaign filters are enabled. Boolean
data.createdAt Campaign creation timestamp. (ISO 8601) string
data.updatedAt Last updated timestamp. (ISO 8601) string
data.id Unique identifier for the campaign. string
data.contactLists Names of associated contact lists. array of string