Skip to main content
PUT
Typescript (SDK)

Authorizations

Syllable-API-Key
string
header
required

Path Parameters

campaign_id
integer
required

Body

application/json
campaign_name
string
required

Human readable name of campaign

Example:

"Outbound Campaign 1"

campaign_variables
Campaign Variables · object
required

Variables for campaign

Example:
caller_id
string | null
required

Caller ID for call

Example:

19995551234

active_days
enum<string>[]
required

Days of the week when campaign is active

Enum representing days of the week.

Available options:
mon,
tue,
wed,
thu,
fri,
sat,
sun
Example:

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

description
string | null

Description of campaign

Example:

"This is a test campaign"

mode
string | null

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

Example:

"voice"

sms_session_ttl
integer | null

Time to live for SMS session in minutes

Example:

720

label
string | null
deprecated

Label for campaign (DEPRECATED - use labels instead)

Example:

"test"

labels
string[] | null

Labels for campaign

Example:
daily_start_time
string | null

Start time of campaign each day

Example:

"09:00:00"

daily_end_time
string | null

End time of campaign each day

Example:

"17:00:00"

source
string | null

Source phone number, email, or SMS number

Example:

"+19032900844"

hourly_rate
integer
default:1

Target number of outreach calls per hour

Required range: 1 <= x <= 3600
Example:

25

max_daily_calls
integer | null

Maximum number of outreach calls per day

Example:

2500

retry_count
integer
default:0

Number of retries per target

Example:

1

retry_interval
string | null

How long to wait before retrying

Example:

"30m"

voicemail_detection
VoicemailDetectionConfig · object | null

Config for voicemail detection for voice campaigns. Set to None to disable.

Example:
allowed_line_types
enum<string>[] | null

Line-type buckets this campaign is allowed to dial. Empty or omitted means no filter (all line types are dialed).

Friendly line-type buckets a campaign can be restricted to dial.

These map to raw Twilio Lookup v2 line types via lib.twilio.line_type_lookup.LINE_TYPE_BUCKETS.

Available options:
mobile,
landline,
voip
Example:
include_unknown_line_types
boolean
default:true

When a line-type filter is active, whether to also dial numbers whose line type is unknown or could not be classified. Has no effect when allowed_line_types is empty.

Example:

true

target_filters
TargetFilters · object | null

Generic target filter (a flat rule list over request enrichment attributes such as line_type, carrier_name, mcc, mnc). When set, takes precedence over allowed_line_types / include_unknown_line_types. Omitted or null means those legacy fields are used instead.

Example:
webhooks
OutboundCampaignWebhookInput · object[]

Webhooks for campaign

Example:

Response

Successful Response

campaign_name
string
required

Human readable name of campaign

Example:

"Outbound Campaign 1"

campaign_variables
Campaign Variables · object
required

Variables for campaign

Example:
caller_id
string | null
required

Caller ID for call

Example:

19995551234

active_days
enum<string>[]
required

Days of the week when campaign is active

Enum representing days of the week.

Available options:
mon,
tue,
wed,
thu,
fri,
sat,
sun
Example:

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

id
integer
required

Unique ID for campaign

Example:

1

last_updated_by
string
required

Email of user who last updated campaign

Example:

"user@email.com"

description
string | null

Description of campaign

Example:

"This is a test campaign"

mode
string | null

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

Example:

"voice"

sms_session_ttl
integer | null

Time to live for SMS session in minutes

Example:

720

label
string | null
deprecated

Label for campaign (DEPRECATED - use labels instead)

Example:

"test"

labels
string[] | null

Labels for campaign

Example:
daily_start_time
string | null

Start time of campaign each day

Example:

"09:00:00"

daily_end_time
string | null

End time of campaign each day

Example:

"17:00:00"

source
string | null

Source phone number, email, or SMS number

Example:

"+19032900844"

hourly_rate
integer
default:1

Target number of outreach calls per hour

Required range: 1 <= x <= 3600
Example:

25

max_daily_calls
integer | null

Maximum number of outreach calls per day

Example:

2500

retry_count
integer
default:0

Number of retries per target

Example:

1

retry_interval
string | null

How long to wait before retrying

Example:

"30m"

voicemail_detection
VoicemailDetectionConfig · object | null

Config for voicemail detection for voice campaigns. Set to None to disable.

Example:
allowed_line_types
enum<string>[] | null

Line-type buckets this campaign is allowed to dial. Empty or omitted means no filter (all line types are dialed).

Friendly line-type buckets a campaign can be restricted to dial.

These map to raw Twilio Lookup v2 line types via lib.twilio.line_type_lookup.LINE_TYPE_BUCKETS.

Available options:
mobile,
landline,
voip
Example:
include_unknown_line_types
boolean
default:true

When a line-type filter is active, whether to also dial numbers whose line type is unknown or could not be classified. Has no effect when allowed_line_types is empty.

Example:

true

target_filters
TargetFilters · object | null

Generic target filter (a flat rule list over request enrichment attributes such as line_type, carrier_name, mcc, mnc). When set, takes precedence over allowed_line_types / include_unknown_line_types. Omitted or null means those legacy fields are used instead.

Example:
agent_id
integer | null

ID of agent assigned to campaign

Example:

"agent_id"

created_at
string<date-time>

Timestamp of campaign creation

Example:

"2026-07-13T00:00:00Z"

updated_at
string<date-time>

Timestamp of campaign update

Example:

"2026-07-13T00:00:00Z"

webhooks
OutboundCampaignWebhookResponse · object[] | null

Webhooks for campaign

Example: