Skip to main content
PATCH
/
api
/
v2
/
voice-campaigns
/
{campaign_id}
Update Voice Campaign
curl --request PATCH \
  --url https://api.voiceaiwrapper.app/api/v2/voice-campaigns/{campaign_id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "Q4 Outreach v2",
  "assistant_id": "asst_xyz456",
  "tenant_voice_provider_id": "VGVuYW50Vm9pY2VQcm92aWRlcjoxMjM=",
  "dialer_type": "POOL",
  "phone_number_id": "pn_xyz456",
  "phone_number_pool_id": "Vm9pY2VQaG9uZU51bWJlclBvb2w6MTIz",
  "timezone": "America/Chicago",
  "days_of_week": [
    "MONDAY",
    "WEDNESDAY",
    "FRIDAY"
  ],
  "daily_start_time": "08:00",
  "daily_end_time": "18:00",
  "max_call_attempts": 5,
  "max_daily_attempts": 2,
  "min_gap_between_attempts": 120,
  "consider_voicemail_as_answered": false,
  "webhook_url": "https://yourapp.com/webhooks/campaign"
}
'
{
  "status": "success",
  "message": "Campaign updated successfully",
  "data": {
    "campaign_id": "Vm9pY2VDYW1wYWlnbjoxMjM=",
    "campaign_name": "Q4 Outreach Updated",
    "campaign_type": "OUTBOUND",
    "campaign_status": "DRAFT"
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

campaign_id
string
required

Global ID of the voice campaign to update. Required.

Example:

"Vm9pY2VDYW1wYWlnbjoxMjM="

Body

application/json

Fields to update — all are optional; provide only those you want to change

name
string

Updated campaign display name. Optional.

Example:

"Q4 Outreach v2"

assistant_id
string

Updated provider-native assistant ID. Optional. Validated against the voice provider.

Example:

"asst_xyz456"

tenant_voice_provider_id
string

Updated global ID of the tenant voice provider. Optional. Note: tenant_voice_provider_id = voiceai_pod_id

Example:

"VGVuYW50Vm9pY2VQcm92aWRlcjoxMjM="

dialer_type
enum<string>

Updated dialer type. Optional.

Available options:
SINGLE,
POOL
Example:

"POOL"

phone_number_id
string

Updated provider-native phone number ID. Optional.

Example:

"pn_xyz456"

phone_number_pool_id
string

Updated global ID of the phone number pool (POOL dialer only). Optional.

Example:

"Vm9pY2VQaG9uZU51bWJlclBvb2w6MTIz"

timezone
string

Updated IANA timezone. Optional.

Example:

"America/Chicago"

days_of_week
string[]

Updated active days of the week. Optional.

Example:
["MONDAY", "WEDNESDAY", "FRIDAY"]
daily_start_time
string

Updated daily call start time (HH:MM or HH:MM:SS). Optional.

Example:

"08:00"

daily_end_time
string

Updated daily call end time (HH:MM or HH:MM:SS). Optional.

Example:

"18:00"

max_call_attempts
integer

Updated maximum total call attempts per lead. Optional.

Required range: x >= 1
Example:

5

max_daily_attempts
integer

Updated maximum call attempts per lead per day. Optional.

Required range: x >= 1
Example:

2

min_gap_between_attempts
integer

Updated minimum minutes between attempts. Optional.

Required range: x >= 3
Example:

120

consider_voicemail_as_answered
boolean

Updated voicemail-as-answered setting. Optional.

Example:

false

webhook_url
string<uri>

Updated webhook URL. Optional.

Example:

"https://yourapp.com/webhooks/campaign"

Response

Campaign updated successfully. Returns updated campaign metadata.

status
string
Example:

"success"

message
string
Example:

"Campaign updated successfully"

data
object