Create SMS Campaign (Using Template) API¶
Use this API to create an SMS campaign using a predefined message template.
Method | POST |
---|---|
Endpoint | https://{{host}}/agentassist/api/v1/public/{{IID}}/campaign?campaignType=sms |
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 |
Query Parameters¶
Parameter | Description | Type |
---|---|---|
campaignType |
Type of Campaign. Use "sms" . |
string, required |
Sample Request¶
curl --location 'https://{{host}}/agentassist/api/v1/public/{{IID}}/campaign?campaignType=sms' \
--header 'auth: <token>' \
--header 'iid: st-0603182c-7ffb-53c3-b307-47ca14b9xxxx' \
--header 'accountId: 67777ce93e25326494exxxx' \
--header 'Content-Type: application/json' \
--data '{
"name": "Billing Alert Template Campaign",
"description": "Uses a pre-approved message template to alert customers about pending bills. Includes dynamic fields for customer name, due date, and bill amount",
"contactLists": [
"Renewal Due - May/June 2025"
],
"campaignType": "sms",
"priority": "5",
"format": "simple",
"message": {
"template_name": "Payment Reminder Template",
"message": "VGhpcyBpcyBhIHJlbWluZGVyIHRoYXQgeW91ciBwYXltZW50IGlzIGR1ZSBzb29uLiBQbGVhc2UgY29tcGxldGUgdGhlIHBheW1lbnQgb24gdGltZSB0byBhdm9pZCBhbnkgc2VydmljZSBpbnRlcnJ1cHRpb24uIFZpc2l0IHlvdXIgYWNjb3VudCB0byBwYXkgbm93Lg%3D%3D"
},
"dialingStrategy": {
"callerId": {
"phoneNumber": "+919876543210"
},
"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"
}
]
}
},
"schedule": {
"isSchedulingEnabled": false
}
}'
Headers¶
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 SMS campaign. Used for identification and reporting. Max 48 characters. | string, required |
description |
Description of the campaign’s purpose. Helpful for internal reference. Max 256 characters. | string, required |
contactLists |
List of contact list names that will receive the message. Must already exist. At least one required. | array[string], required |
campaignType |
Type of campaign. Must be either 'voice' or 'sms' . |
string, required |
priority |
Campaign priority. Higher values indicate higher execution priority. Allowed values: 1, 2, 3, 4, 5. | string, required |
format |
Format of the SMS. 'simple' = plain template without personalization logic. |
string, required |
message.template_name |
Name of the pre-approved message template to use. | string, required |
message.message |
Base64-encoded message body to be sent. Should match the registered template body exactly. | string (Base64), required |
dialingStrategy.callerId.phoneNumber |
Sender phone number or ID used to send SMS. Must be approved and linked to your SMS provider. | string, required |
dialingStrategy.callingHours.frequency |
Frequency of calling hours. Allowed values: 'WEEKLY' , 'DAILY' , 'CUSTOM' . |
string, required |
dialingStrategy.callingHours.timezone |
Timezone used to interpret calling hours. Example: "Asia/Kolkata" . |
string, required |
dialingStrategy.callingHours.days |
List of day/time ranges when messaging is allowed. Each object includes: day , start (for example, "9:00 AM"), end (for example, "6:00 PM"). Multiple blocks allowed. |
array[object], required |
Sample Response¶
{
"status": "success",
"message": "Campaign Billing Alert Template Campaign creation in progress",
"data": {
"_id": "cd-d6824984-fb9c-513f-b7aa-25c355fdxxxx",
"name": "Billing Alert Template Campaign",
"lname": "billing alert template campaign",
"description": "Uses a pre-approved message template to alert customers about pending bills. Includes dynamic fields for customer name, due date, and bill amount",
"status": "Ready",
"priority": "5",
"dialingStrategy": {
"callerId": {
"phoneNumber": "+919876543210"
},
"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"
}
]
}
},
"message": {
"template_name": "Payment Reminder Template",
"message": "PHA%2BVGhpcyBpcyBhIDxzdHJvbmc%2BcmVtaW5kZXI8L3N0cm9uZz4gdGhhdCB5b3VyIHBheW1lbnQgaXMgZHVlIHNvb24uIFBsZWFzZSBjb21wbGV0ZSB0aGUgcGF5bWVudCBvbiB0aW1lIHRvIGF2b2lkIGFueSBzZXJ2aWNlIGludGVycnVwdGlvbi4gVmlzaXQgeW91ciBhY2NvdW50IHRvIHBheSBub3cuPC9wPg%3D%3D",
"templateId": "cmt-152aa8a4-81a6-591e-aff3-d5645dafxxxx"
},
"createdAt": "2025-06-27T08:48:57.215Z",
"updatedAt": "2025-06-27T08:48:57.215Z",
"schedule": {
"isSchedulingEnabled": false
},
"contactLists": [
"Renewal Due - May/June 2025"
],
"enableMachineDetect": false,
"format": "simple"
}
}
Response Body Parameters¶
Parameter | Description | Type |
---|---|---|
_id |
Unique identifier for the campaign. | string |
name |
Campaign name. | string |
lname |
Lowercase version of campaign name. | string |
description |
Campaign description. | string |
status |
Current campaign status. For example: Ready. | string |
priority |
Campaign priority. For example: 5 | string |
dialingStrategy |
Dialing configuration for the campaign. | object |
dialingStrategy.callerId |
Caller ID configuration. | object |
dialingStrategy.callerId.phoneNumber |
Caller phone number in E.164 format. | string |
dialingStrategy.callingHours |
Allowed calling hours. | object |
dialingStrategy.callingHours.frequency |
Frequency of calls. Example: WEEKLY . |
string |
dialingStrategy.callingHours.timezone |
Time zone used for calling hours. | string |
dialingStrategy.callingHours.days |
List of daily calling windows. | array |
dialingStrategy.callingHours.days.day |
Day of the week (for example, MO , TU ). |
string |
dialingStrategy.callingHours.days.start |
Start time (for example, 9:00 AM ). |
string |
dialingStrategy.callingHours.days.end |
End time (for example, 6:00 PM ). |
string |
message |
Contains the Base64-encoded SMS content. | object |
message.message |
Base64-encoded SMS message string. | string |
totalMessagesSent |
Count of messages sent. | integer |
direction |
Campaign format type. For example: simple . |
string |
createdAt |
Campaign creation timestamp in ISO format. | string |
updatedAt |
Last update timestamp in ISO format. | string |
schedule |
Scheduling settings for the campaign. | object |
schedule.isSchedulingEnabled |
Indicates if scheduling is enabled for the campaign. | boolean |
contactLists |
List of contact list names used in the campaign. | array |
enableMachineDetect |
Indicates if machine detection is enabled (not applicable for sms). | boolean |
data.format |
Specifies the message format (for example, simple ). |
string |