Skip to main content
Back to API List

Create Voice Campaign API - Agentless Mode - v2

Use this API to create a new outbound voice campaign with agentless dialing mode.
MethodPOST
Endpointhttps://{{host}}/campaign/api/v2/public/{{streamId}}/campaign?accountId={{accountId}}\&campaignType=voice
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

Query Parameter

ParameterDescriptionType
accountIdUnique account identifier.string, required
campaignTypeType of Campaign. Use "voice"string, required

Sample request

curl --location 'https://{{host}}/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": "Product Feedback Voice Campaign-3.41",
    "description": "This voice campaign collects quick feedback on recent purchases. It asks brief questions on satisfaction, usage, and suggestions to help improve future products and customer experience.",
    "contactLists": [
        "CL Only 2020 Dec 4"
    ],
    "dncLists": {
        "name": "DNC CL Dec 4"
    },
    "priority": "5",
    "dialingMode": "Agentless",
    "dialingStrategy": {
        "callerId": {
            "phoneNumber": "+148465xxxxx"
        },
        "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
    },
    "experienceFlowName": "Voice Survey Entry Flow",
    "enableMachineDetect": "no",
    "campaignType": "voice"

}'

Header Parameters

HeaderDescriptionRequired/Optional
authJWT token for authentication.string, required
accountIdUnique account identifier.string, required
iidThe Application Id.string, required

Request Parameters

ParameterDescriptionType/Required
nameName of the campaign. Used to identify it in the platform. The name must be a maximum of 48 characters.string, required
descriptionDescription of the campaign’s purpose. Helpful for internal context. The description must be a maximum of 256 characters.string, required
contactListsList of contact list namesarray[string], required
dncListsContains the contact lists added under the Do Not Call (DNC) list.object, required
dncLists.nameThe name of the contact list included in the Do Not Call (DNC) list.string, required
priorityCampaign priority. Higher values indicate higher execution priority. Priority must be one of the following: 1, 2, 3, 4, or 5.string, required
dialingModeDialing mode defines how calls are handled. Valid values are: Agentless, Progressive, or Preview.string, required
dialingStrategy.callerId.phoneNumberPhone number shown as the caller ID to the recipient.string, required
dialingStrategy.callingHours.frequencyFrequency of calling hours. Must be one of: WEEKLY, DAILY, or CUSTOM.string, required
dialingStrategy.callingHours.timezoneTimezone used for enforcing calling windows.string, required
dialingStrategy.callingHours.daysList of allowed calling time blocks. Each object should include: day (MO, TU, WE, TH, FR, SA, SU), start (for example, 9:00 AM), and end (for example, 6:00 PM). You can define multiple entries for different days and time slots.array[object], required
dialingStrategy.dialingOrderOrder of dialing, such as First In First Out (FIFO) or Last In First Out (LIFO).string, required
dialingStrategy.maxAttemptsPerRecordMaximum number of call attempts per contact. Must be between 1 and 100.number, required
dialingStrategy.defaultRetryPeriodTime in minutes to wait between retries. Must be between 1 and 1440.number, required
dialingStrategy.maxRingTimeMaximum ring duration in seconds before disconnecting. Must be between 5 and 120.number, required
experienceFlowNameName of the voice flow (bot or IVR) used to interact with the user.string, required
enableMachineDetectEnables detection of answering machines/voicemails. Valid values are: no (disable AMD), detect (detect machine and trigger flow), disconnect (detect machine and disconnect the call).string, required
campaignTypeType of campaign. Must be either voice or sms.string, required

Sample Response

{
    "status": "success",
    "message": "Campaign Product Feedback Voice Campaign-3.41 creation in progress",
    "data": {
        "name": "Product Feedback Voice Campaign-3.41",
        "lname": "product feedback voice campaign-3.41",
        "description": "This voice campaign collects quick feedback on recent purchases. It asks brief questions on satisfaction, usage, and suggestions to help improve future products and customer experience.",
        "dncLists": {
            "id": "cl-68b802a-2b99-4245-8eea-6d322a8xxxxx",
            "name": "DNC CL Dec 4"
        },
        "priority": "5",
        "dialingMode": "Agentless",
        "dialingStrategy": {
            "callerId": {
                "phoneNumber": "+148465xxxxx"
            },
            "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
        },
        "experienceFlow": "cf-ecfa3927-eabc-52c4-8373-8a0b75dxxxxx",
        "status": "Preparing",
        "isFiltersEnabled": false,
        "createdAt": "2025-12-08T05:29:38.298Z",
        "updatedAt": "2025-12-08T05:29:38.298Z",
        "id": "cd-9e14b72-88cc-4544-9a98-7aee9b7xxxxx",
        "contactLists": [
            "CL Only 2020 Dec 4"
        ],
        "enableMachineDetect": false
    }
}

Response Parameters

ParameterDescriptionType
statusIndicates the overall response status. Example: "success"string
messageDescriptive message about the result.string
dataContains the campaign configuration details.object
data.nameDisplay name of the campaign.string
data.lnameLowercase name of the campaign, used internally.string
data.descriptionDescription of the campaign purpose and functionality.string
data.dncListsContains the names of people who are in DND mode.object, required
data.dncLists.idUnique identifier of the person in the DNC list.string (UUID)
data.dncLists.nameThe name of the person who is in the DNC liststring
data.priorityCampaign priority level.string
data.dialingModeDialing mode used for the campaign. Example: "Agentless"string
data.dialingStrategyDefines dialing strategy configuration.object
data.dialingStrategy.callerId.phoneNumberCaller ID phone number used for outbound calls.string
data.dialingStrategy.callingHoursDefines the allowed calling hours and schedule.object
data.dialingStrategy.callingHours.frequencyCalling frequency. Example: "WEEKLY"string
data.dialingStrategy.callingHours.daysDaily schedules with start/end time and day.array of object
data.dialingStrategy.callingHours.days[].startStart time of calling window. (hh:mm AM/PM)string
data.dialingStrategy.callingHours.days[].endEnd time of calling window. (hh:mm AM/PM)string
data.dialingStrategy.callingHours.days[].dayDay of the week. (2-letter) Example: "MO", "TU"string
data.dialingStrategy.callingHours.timezoneTimezone used for the calling schedule. Example: "Asia/Kolkata"string
data.dialingStrategy.dialingOrderOrder in which records are dialed. Example: "FIFO"string
data.dialingStrategy.maxAttemptsPerRecordMaximum retry attempts for each record.integer
data.dialingStrategy.defaultRetryPeriodDefault wait time between retries. (minutes)integer
data.dialingStrategy.maxRingTimeMaximum ring time before hanging up. (seconds)integer
data.experienceFlowIdentifier of the experience flow used for automation.string
data.statusCurrent state of the campaign. Example: "Preparing"string
data.createdAtCampaign creation timestamp. (ISO 8601)string
data.updatedAtLast updated timestamp. (ISO 8601)string
data.idUnique identifier for the campaign.string
data.contactListsNames of associated contact lists.array of string
data.enableMachineDetectIndicates whether machine detection is enabled.boolean