POST
/
api
/
v1
/
outbound
/
campaigns
Python (SDK)
import os
from syllable_sdk import SyllableSDK, models


with SyllableSDK(
    api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""),
) as ss_client:

    res = ss_client.outbound.campaigns.create(request={
        "campaign_name": "Outbound Campaign 1",
        "description": "This is a test campaign",
        "mode": "voice",
        "sms_session_ttl": 720,
        "labels": [
            "test",
            "demo",
        ],
        "campaign_variables": {
            "key": "value",
            "key2": "value2",
        },
        "daily_start_time": "09:00:00",
        "daily_end_time": "17:00:00",
        "source": "+19032900844",
        "caller_id": "19995551234",
        "hourly_rate": 25,
        "retry_count": 1,
        "retry_interval": "30m",
        "active_days": [
            models.DaysOfWeek.MON,
            models.DaysOfWeek.TUE,
            models.DaysOfWeek.WED,
            models.DaysOfWeek.THU,
            models.DaysOfWeek.FRI,
        ],
    })

    # Handle response
    print(res)
{
  "campaign_name": "Outbound Campaign 1",
  "description": "This is a test campaign",
  "mode": "voice",
  "sms_session_ttl": 720,
  "label": "test",
  "labels": [
    "test",
    "demo"
  ],
  "campaign_variables": {
    "key": "value",
    "key2": "value2"
  },
  "daily_start_time": "09:00:00",
  "daily_end_time": "17:00:00",
  "source": "+19032900844",
  "caller_id": 19995551234,
  "hourly_rate": 25,
  "retry_count": 1,
  "retry_interval": "30m",
  "active_days": "[\"mon\", \"tue\", \"wed\", \"thu\", \"fri\"]",
  "id": 1,
  "agent_id": "agent_id",
  "created_at": "2025-09-10T00:00:00Z",
  "updated_at": "2025-09-10T00:00:00Z",
  "last_updated_by": "user@email.com"
}

Authorizations

Syllable-API-Key
string
header
required

Body

application/json
campaign_name
string
required

Human readable name of campaign

Examples:

"Outbound Campaign 1"

campaign_variables
object
required

Variables for campaign

Examples:
{ "key": "value", "key2": "value2" }
caller_id
string | null
required

Caller ID for call

Examples:

19995551234

active_days
enum<string>[]
required

Days of the week when campaign is active

Examples:

"[\"mon\", \"tue\", \"wed\", \"thu\", \"fri\"]"

description
string | null

Description of campaign

Examples:

"This is a test campaign"

mode
string | null

Mode of the campaign (e.g. voice, sms)

Examples:

"voice"

"sms"

sms_session_ttl
integer | null

Time to live for SMS session in minutes

Examples:

720

label
string | null
deprecated

Label for campaign (DEPRECATED - use labels instead)

Examples:

"test"

"demo"

labels
string[] | null

Labels for campaign

Examples:
["test", "demo"]
daily_start_time
string | null

Start time of campaign each day

Examples:

"09:00:00"

daily_end_time
string | null

End time of campaign each day

Examples:

"17:00:00"

source
string | null

Source phone number, email, or SMS number

Examples:

"+19032900844"

"account@email.com"

hourly_rate
integer
default:1

Target number of outreach calls per hour

Examples:

25

retry_count
integer
default:0

Number of retries per target

Examples:

1

retry_interval
string | null

How long to wait before retrying

Examples:

"30m"

"12h"

"7d"

Response

Successful Response

campaign_name
string
required

Human readable name of campaign

Examples:

"Outbound Campaign 1"

campaign_variables
object
required

Variables for campaign

Examples:
{ "key": "value", "key2": "value2" }
caller_id
string | null
required

Caller ID for call

Examples:

19995551234

active_days
enum<string>[]
required

Days of the week when campaign is active

Examples:

"[\"mon\", \"tue\", \"wed\", \"thu\", \"fri\"]"

id
integer
required

Unique ID for campaign

Examples:

1

last_updated_by
string
required

Email of user who last updated campaign

Examples:

"user@email.com"

description
string | null

Description of campaign

Examples:

"This is a test campaign"

mode
string | null

Mode of the campaign (e.g. voice, sms)

Examples:

"voice"

"sms"

sms_session_ttl
integer | null

Time to live for SMS session in minutes

Examples:

720

label
string | null
deprecated

Label for campaign (DEPRECATED - use labels instead)

Examples:

"test"

"demo"

labels
string[] | null

Labels for campaign

Examples:
["test", "demo"]
daily_start_time
string | null

Start time of campaign each day

Examples:

"09:00:00"

daily_end_time
string | null

End time of campaign each day

Examples:

"17:00:00"

source
string | null

Source phone number, email, or SMS number

Examples:

"+19032900844"

"account@email.com"

hourly_rate
integer
default:1

Target number of outreach calls per hour

Examples:

25

retry_count
integer
default:0

Number of retries per target

Examples:

1

retry_interval
string | null

How long to wait before retrying

Examples:

"30m"

"12h"

"7d"

agent_id
integer | null

ID of agent assigned to campaign

Examples:

"agent_id"

created_at
string<date-time>

Timestamp of campaign creation

Examples:

"2025-09-10T00:00:00Z"

updated_at
string<date-time>

Timestamp of campaign update

Examples:

"2025-09-10T00:00:00Z"