v64

OpenAPI 3.1.0raw.githubusercontent.com2026-08-01176310978.7 KB
outbound.campaigns

Update Outbound Communication Campaign

put/api/v1/outbound/campaigns/{campaign_id}

Path parameters

campaign_idinteger required

Request body

campaign_namestring required

Human readable name of campaign

descriptionstring nullable

Description of campaign

modestring nullable

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

sms_session_ttlinteger nullable

Time to live for SMS session in minutes

labelstring nullable

Label for campaign (DEPRECATED - use labels instead)

labelsstring[] nullable

Labels for campaign

campaign_variablesobject required

Variables for campaign

daily_start_timestring nullable

Start time of campaign each day

daily_end_timestring nullable

End time of campaign each day

sourcestring nullable

Source phone number, email, or SMS number

caller_idstring nullable required

Caller ID for call

hourly_rateinteger

Target number of outreach calls per hour

max_daily_callsinteger nullable

Maximum number of outreach calls per day

retry_countinteger

Number of retries per target

retry_intervalstring nullable

How long to wait before retrying

active_daysDaysOfWeek[] required

Days of the week when campaign is active

allowed_line_typesLineTypeBucket[] nullable

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

include_unknown_line_typesboolean

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 request

{
  "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",
  "hourly_rate": 25,
  "max_daily_calls": 2500,
  "retry_count": 1,
  "retry_interval": "30m",
  "voicemail_detection": {
    "mode": "v1"
  },
  "allowed_line_types": [
    "mobile",
    "voip"
  ],
  "include_unknown_line_types": true,
  "target_filters": {
    "match": "all",
    "on_unknown": "include",
    "rules": [
      {
        "field": "line_type",
        "op": "in",
        "values": [
          "landline",
          "fixedVoip",
          "nonFixedVoip"
        ]
      },
      {
        "field": "carrier_name",
        "op": "in",
        "values": [
          "Onvoy, LLC - Sinch"
        ]
      }
    ]
  },
  "webhooks": [
    {
      "url": "https://example.com/hooks/syllable",
      "request_method": "POST",
      "id": 1,
      "auth_values": {
        "hmac_secret": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
      }
    }
  ]
}

Response

Successful Response

campaign_namestring required

Human readable name of campaign

descriptionstring nullable

Description of campaign

modestring nullable

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

sms_session_ttlinteger nullable

Time to live for SMS session in minutes

labelstring nullable

Label for campaign (DEPRECATED - use labels instead)

labelsstring[] nullable

Labels for campaign

campaign_variablesobject required

Variables for campaign

daily_start_timestring nullable

Start time of campaign each day

daily_end_timestring nullable

End time of campaign each day

sourcestring nullable

Source phone number, email, or SMS number

caller_idstring nullable required

Caller ID for call

hourly_rateinteger

Target number of outreach calls per hour

max_daily_callsinteger nullable

Maximum number of outreach calls per day

retry_countinteger

Number of retries per target

retry_intervalstring nullable

How long to wait before retrying

active_daysDaysOfWeek[] required

Days of the week when campaign is active

allowed_line_typesLineTypeBucket[] nullable

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

include_unknown_line_typesboolean

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.

idinteger required

Unique ID for campaign

agent_idinteger nullable

ID of agent assigned to campaign

created_atstring date-time

Timestamp of campaign creation

updated_atstring date-time

Timestamp of campaign update

last_updated_bystring required

Email of user who last updated campaign

Example response

{
  "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",
  "hourly_rate": 25,
  "max_daily_calls": 2500,
  "retry_count": 1,
  "retry_interval": "30m",
  "voicemail_detection": {
    "mode": "v1"
  },
  "allowed_line_types": [
    "mobile",
    "voip"
  ],
  "include_unknown_line_types": true,
  "target_filters": {
    "match": "all",
    "on_unknown": "include",
    "rules": [
      {
        "field": "line_type",
        "op": "in",
        "values": [
          "landline",
          "fixedVoip",
          "nonFixedVoip"
        ]
      },
      {
        "field": "carrier_name",
        "op": "in",
        "values": [
          "Onvoy, LLC - Sinch"
        ]
      }
    ]
  },
  "id": 1,
  "created_at": "2026-08-01T00:00:00Z",
  "updated_at": "2026-08-01T00:00:00Z",
  "last_updated_by": "user@email.com",
  "webhooks": [
    {
      "url": "https://example.com/hooks/syllable",
      "request_method": "POST",
      "id": 1,
      "auth_value_keys": [
        "hmac_secret"
      ]
    }
  ]
}