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.
Method
PUT
Endpoint
https://((host))/agentassist/api/v1/public/{{IID}}/campaign/{{campaignId}}?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
IId
The Application ID.
string, required
campaignId
Unique ID of the campaign to be updated. For example: cd-ed19e3c7-3682-5e72-a839-af9e0711xxxx
string, required
Query Parameter
Parameter
Description
Type
campaignType
Type 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"
}'
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 campaign. Used to identify it in Kore.ai. 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
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, for 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"
array[object], required
dialingStrategy.dialingOrder
Order in which contacts are dialed: "FIFO" (First-In-First-Out) or "LIFO".
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
enableMachineDetect
Enables detection of answering machines or voicemails. Valid values are true or false
boolean, 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 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
Parameter
Description
Type
status
Indicates the overall response status. Example: "success"
string
message
Descriptive message about the result.
string
id
Unique identifier of the campaign (also repeated in data.id
).
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.priority
Campaign priority level.
string
data.dialingMode
Dialing mode used for the campaign. Example: "Preview"
string
data.dialingStrategy
Defines dialing strategy configuration.
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.status
Current state of the campaign. Example: "Ready"
string
data.maxSkips
Maximum allowed skips for contacts in the dialing list.
integer
data.createdAt
Campaign creation timestamp. (ISO 8601)
string
data.updatedAt
Last updated timestamp. (ISO 8601)
string
data.schedule
Schedule configuration for the campaign.
object
data.schedule.isSchedulingEnabled
Indicates whether campaign scheduling is enabled.
boolean
data.schedule.isRecurrenceEnabled
Indicates whether campaign recurrence is enabled.
boolean
data.id
Unique identifier for the campaign.
string
data.contactLists
Names of associated contact lists.
array of string
data.enableMachineDetect
Indicates whether machine detection is enabled.
boolean