Skip to main content
Back to API List

Update Voice Campaign by ID

Use this API to update the configuration details of an existing voice campaign using the dialing mode. This operation allows you to modify metadata, dialing strategies, schedules, and other runtime parameters.
MethodPUT
Endpointhttps://((host))/agentassist/api/v1/public/{{IID}}/campaign/{{campaignId}}?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
IIdThe Application ID.string, required
campaignIdUnique ID of the campaign to be updated. For example: cd-ed19e3c7-3682-5e72-a839-af9e0711xxxxstring, required

Query Parameter

ParameterDescriptionType
campaignTypeType of Campaign. Use "voice"string, required

Sample Request

curl --location --request PUT 'https://{{host}}/agentassist/api/v1/public/{{botId}}/campaign/{{campaignId}}?campaignType=voice' \
--header 'auth: <token>' \
--header 'Content-Type: application/json' \
--header 'iid: st-0603182c-7ffb-53c3-b307-47ca14b9xxxx' \
--header 'accountId: 67777ce93e25326494e9xxxx' \
--data '{
    "name": "Billing Reminder Voice Campaign",
    "description": "Progressive dialing campaign to notify customers about pending bill payments. Connects to an agent if available; otherwise, a voice bot shares payment details",
    "contactLists": [
        "Recent Buyers - Q2 2025"
    ],
    "priority": "5",
    "dialingMode": "Preview",
    "dialingStrategy": {
        "callerId": {
            "phoneNumber": "+18123456789"
        },
        "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",
    "enableMachineDetect": false,
    "maxSkips": 1,
    "campaignType": "voice"
}'

Headers

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

Body Parameters

ParameterDescriptionType
nameName of the campaign. Used to identify it. The name must be a maximum of 48 characters.string, required
descriptionDescription of the campaign’s objective. The description must be a maximum of 256 characters.string, required
contactListsList of contact list names. These must already exist. At least one contact list name is required.array[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.phoneNumberCaller ID number to display when calling. Must be a verified number.string, required
dialingStrategy.callingHours.frequencyFrequency of calling hours must be one of: ‘WEEKLY’, ‘DAILY’, or ‘CUSTOM’.string, required
dialingStrategy.callingHours.timezoneTimezone in which calling hours should be enforced, for example, “Asia/Kolkata”.string, required
dialingStrategy.callingHours.daysList of allowed calling time blocks. Each object should include: day (‘MO’, ‘TU’, ‘WE’, ‘TH’, ‘FR’, ‘SA’, ‘SU’), start (“9:00 AM”), and end (“6:00 PM”).array[object], required
dialingStrategy.dialingOrderOrder in which contacts are dialed: “FIFO” (First-In-First-Out) or “LIFO”.string, required
dialingStrategy.maxAttemptsPerRecordMaximum number of call attempts per contact. Minimum is 1 and maximum is 100.number, required
dialingStrategy.defaultRetryPeriodTime (in minutes) to wait between retries. Must be between 1 and 1440.number, required
dialingStrategy.maxRingTimeMax time (in seconds) the phone should ring before disconnecting. Must be between 5 and 120.number, required
queue_nameName of the agent queue used for connecting calls in the campaign.string, required
enableMachineDetectEnables detection of answering machines or voicemails. Valid values are true or false.boolean, required
maxSkipsNumber of contact skips allowed for agents in preview mode before the record is flagged.number, required
campaignTypeType of campaign. Must be either ‘voice’ or ‘sms’.string, required

Sample Response

{
    "status": "success",
    "message": "Campaign Billing Reminder Voice Campaign details updated successfully",
    "id": "cd-dcebc67-d981-4469-b220-5a4ea567xxxx",
    "data": {
        "name": "Billing Reminder Voice Campaign",
        "lname": "billing reminder voice campaign",
        "description": "Progressive dialing campaign to notify customers about pending bill payments. Connects to an agent if available; otherwise, a voice bot shares payment details",
        "priority": "5",
        "dialingMode": "Preview",
        "dialingStrategy": {
            "callerId": {
                "phoneNumber": "+1123456789"
            },
            "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
        },
        "status": "Ready",
        "maxSkips": 1,
        "createdAt": "2025-06-26T11:04:17.130Z",
        "updatedAt": "2025-06-26T11:08:55.828Z",
        "schedule": {
            "isSchedulingEnabled": false,
            "isRecurrenceEnabled": false
        },
        "id": "cd-dcebc67-d981-4469-b220-5a4ea567xxxx",
        "contactLists": [
            "Recent Buyers - Q2 2025"
        ],
        "enableMachineDetect": false
    }
}

Response Body Parameters

ParameterDescriptionType
statusIndicates the overall response status. Example: "success"string
messageDescriptive message about the result.string
idUnique identifier of the campaign (also repeated in data.id).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.priorityCampaign priority level.string
data.dialingModeDialing mode used for the campaign. Example: "Preview"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.statusCurrent state of the campaign. Example: "Ready"string
data.maxSkipsMaximum allowed skips for contacts in the dialing list.integer
data.createdAtCampaign creation timestamp. (ISO 8601)string
data.updatedAtLast updated timestamp. (ISO 8601)string
data.scheduleSchedule configuration for the campaign.object
data.schedule.isSchedulingEnabledIndicates whether campaign scheduling is enabled.boolean
data.schedule.isRecurrenceEnabledIndicates whether campaign recurrence is enabled.boolean
data.idUnique identifier for the campaign.string
data.contactListsNames of associated contact lists.array of string
data.enableMachineDetectIndicates whether machine detection is enabled.boolean