/v1/accounts/{accountId}/campaignsCreates a new campaign in Draft state. After creating it, add numbers to the campaign and activate it to start calling.
All fields are validated when the campaign is created, and again when it's activated. Some checks only apply at activation time, such as the end date not being in the past, the Queues Monitor being online for Predictive and Progressive campaigns, or a Static campaign having numbers.
ID of your SIP Caller account. See Account ID.
A JSON object with the campaign settings. All the fields must be sent, except the nullable ones, which default to null when omitted.
Name of the campaign, between 2 and 99 characters. It must be unique in the account.
IDs of the tags of the campaign. Only the users with at least one of these tags can see the campaign in the Web Console. Send an empty array for no tags.
Priority of the campaign, used to decide from which campaign to take the next numbers to call, when several campaigns share resources.
LowNormalHighID of the phone system used to make the calls.
ID of the extension of the phone system used to make the calls.
Dialer mode of the campaign, and its settings. The mode field defines the mode, and the other fields depend on it.
First day in which the campaign can make calls.
Last day in which the campaign can make calls (this day included), or null for no end date. It can't be earlier than startDate.
ID of the holiday group of the campaign, or null. Holidays use the working times defined for Sundays.
IANA time zone of the campaign, such as America/New_York. Dates and working times are relative to this time zone.
Time ranges in which calls can be made, for each day of the week. Every day must be present: send an empty array for days without calls.
Whether numbers can be added or deleted once the campaign is activated (Dynamic) or not (Static). A static campaign finishes automatically when all its numbers were processed.
StaticDynamicOrder in which numbers are called: first in, first out (Fifo), or last in, first out (Lifo).
FifoLifoWhether numbers not contacted yet are called before retries (NotContacted), or the other way around (RetryPending).
NotContactedRetryPendingPrefix added to every number before calling, for example to select an outbound line, or "" for no prefix. Up to 256 comma-separated prefixes can be specified, to rotate between them: each one up to 6 characters, among digits, *, # and +.
Time to wait for the call to be answered: between 1 and 600 seconds, or between 1 and 10 minutes. In Progressive mode, it applies to the call to the agent.
Maximum number of times each number is called, between 1 and 9.
Minimum time between attempts, up to 6 months. Between 1 and 8 intervals can be defined, to use different wait times for successive attempts.
IDs of the black lists with numbers that must not be called. Send an empty array for none.
What happens when a call is answered. The $t field defines the call handling mode, and the other fields depend on it. Required for the Power and Predictive dialer modes, and must be null for the Progressive mode, where the call is always connected to an agent.
ID of the webhook that receives the events of the campaign, or null.
Returns the new campaign object, with status 201 Created. The Location header contains the URL of the new campaign.
/v1/accounts/ACCOUNT_ID/campaigns
curl -X POST 'https://api.sipcaller.com/v1/accounts/ACCOUNT_ID/campaigns' \
-H 'Authorization: Bearer API_KEY_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"name": "Q4 Renewals",
"tagIds": [],
"runningPriority": "Normal",
"phoneSystemId": "0199817e-52e0-7079-9585-99a655c2acb3",
"extensionId": "93e5cdfc-6e42-4995-8263-9388a9047c29",
"dialer": {
"mode": "Predictive",
"intensity": 0
},
"startDate": "2026-10-01",
"endDate": null,
"holidayGroupId": null,
"timeZoneId": "America/New_York",
"workingTimes": {
"monday": [
{
"start": "09:00",
"end": "13:00"
},
{
"start": "14:00",
"end": "18:00"
}
],
"tuesday": [
{
"start": "09:00",
"end": "13:00"
},
{
"start": "14:00",
"end": "18:00"
}
],
"wednesday": [
{
"start": "09:00",
"end": "13:00"
},
{
"start": "14:00",
"end": "18:00"
}
],
"thursday": [
{
"start": "09:00",
"end": "13:00"
},
{
"start": "14:00",
"end": "18:00"
}
],
"friday": [
{
"start": "09:00",
"end": "13:00"
},
{
"start": "14:00",
"end": "18:00"
}
],
"saturday": [],
"sunday": []
},
"numberProvisioning": "Dynamic",
"numberSelection": "Fifo",
"numberPriority": "RetryPending",
"callPrefix": "",
"ringTimeout": {
"value": 30,
"unit": "Seconds"
},
"maxAttempts": 3,
"retryIntervals": [
{
"value": 1,
"unit": "Hours"
},
{
"value": 1,
"unit": "Days"
}
],
"blackListIds": [
"01a0dedd-b9a2-729d-8e0a-4e3ad9197aea"
],
"callHandling": {
"$t": "Callflow",
"answerTypeDetector": {
"$t": "AmdAgent",
"amdAgentId": "019f9cef-4a91-7c97-b7cd-edbb06a5038d",
"unknownAnswerTreatment": "Human",
"messageForVoicemail": {
"$t": "OnFirstDetection",
"callflowId": "019f81ba-a149-731a-a6cb-b47146c5f90d",
"isCallRetryEnabled": true
}
},
"callflowId": "019f9cd5-e8cd-716b-a9a6-37c9db2f97a2",
"ttsVoiceId": "azu-en-US-AvaMultilingualNeural"
},
"webhookEndpointId": "019af0c3-62d6-70f2-84a1-5ab5671721bb"
}'Response
201 Created
{
"id": "01a0e2b4-5c1d-7f3a-9b2e-6d8c4a1f0e27",
"name": "Q4 Renewals",
"tagIds": [],
"state": "Draft",
"activeStatus": null,
"runningPriority": "Normal",
"phoneSystemId": "0199817e-52e0-7079-9585-99a655c2acb3",
"extensionId": "93e5cdfc-6e42-4995-8263-9388a9047c29",
"dialer": {
"mode": "Predictive",
"intensity": 0
},
"startDate": "2026-10-01",
"endDate": null,
"holidayGroupId": null,
"timeZoneId": "America/New_York",
"workingTimes": {
"monday": [
{
"start": "09:00",
"end": "13:00"
},
{
"start": "14:00",
"end": "18:00"
}
],
"tuesday": [
{
"start": "09:00",
"end": "13:00"
},
{
"start": "14:00",
"end": "18:00"
}
],
"wednesday": [
{
"start": "09:00",
"end": "13:00"
},
{
"start": "14:00",
"end": "18:00"
}
],
"thursday": [
{
"start": "09:00",
"end": "13:00"
},
{
"start": "14:00",
"end": "18:00"
}
],
"friday": [
{
"start": "09:00",
"end": "13:00"
},
{
"start": "14:00",
"end": "18:00"
}
],
"saturday": [],
"sunday": []
},
"numberProvisioning": "Dynamic",
"numberSelection": "Fifo",
"numberPriority": "RetryPending",
"callPrefix": "",
"ringTimeout": {
"value": 30,
"unit": "Seconds"
},
"maxAttempts": 3,
"retryIntervals": [
{
"value": 1,
"unit": "Hours"
},
{
"value": 1,
"unit": "Days"
}
],
"blackListIds": [
"01a0dedd-b9a2-729d-8e0a-4e3ad9197aea"
],
"callHandling": {
"$t": "Callflow",
"answerTypeDetector": {
"$t": "AmdAgent",
"amdAgentId": "019f9cef-4a91-7c97-b7cd-edbb06a5038d",
"unknownAnswerTreatment": "Human",
"messageForVoicemail": {
"$t": "OnFirstDetection",
"callflowId": "019f81ba-a149-731a-a6cb-b47146c5f90d",
"isCallRetryEnabled": true
}
},
"callflowId": "019f9cd5-e8cd-716b-a9a6-37c9db2f97a2",
"ttsVoiceId": "azu-en-US-AvaMultilingualNeural"
},
"webhookEndpointId": "019af0c3-62d6-70f2-84a1-5ab5671721bb",
"numbersCount": 0,
"progress": {
"notContacted": 0,
"contacting": 0,
"success": 0,
"failure": 0,
"retryPending": 0,
"blacklisted": 0,
"deleted": 0
},
"varNames": null,
"isArchived": false,
"interactionLabels": [
{
"id": "a6d5b2e5-6b3f-49d8-aaa3-bc7b4c693f05",
"label": "Renewal confirmation"
}
],
"createdAt": "2026-09-28T14:02:11.482",
"updatedAt": "2026-09-28T14:02:11.482",
"deletedAt": null,
"startedAt": null,
"endedAt": null
}