Update a campaign
Partially update a campaign. Every field is optional; only the
fields you send are changed. status can never be set here. Use
the lifecycle endpoints (start/pause/resume/stop) to change it.
config is merged shallowly with the campaign’s existing
configuration: keys you send overwrite the existing value, keys you
omit are left untouched, and a key sent with value null deletes
it from the stored configuration. Nested objects (e.g.
analysis_schema) are replaced whole rather than merged. Values
you provide (other than null) go through the same validation as
POST /v1/campaigns.
lead_list_ids, when included, replaces the campaign’s full set of
attached lead lists (an empty array detaches all of them). Omit the
field to leave the current lists unchanged.
A configuration change takes effect on the campaign’s next dispatch buffer fill (typically within seconds), not on calls already queued.
Authorizations
Use Authorization: Bearer tc_live_xxxxx
Headers
Optional client-supplied idempotency key. When present, the gateway
caches the response for 24 hours and returns the same response on
retried requests with the same key (account-scoped). Safe for
retries on network blips. Format: 8-255 ASCII characters from
[A-Za-z0-9_-].
8 - 255^[A-Za-z0-9_-]+$"a1b2c3d4-e5f6-7890-abcd-ef0123456789"
Path Parameters
Campaign UUID
Body
Request body for updating a campaign. Every field is optional, but
the body must not be empty. status is never accepted here; use
the lifecycle endpoints (start/pause/resume/stop) instead.
config is merged shallowly with the campaign's existing
configuration: an included key overwrites the existing value, an
omitted key is left as-is, and a key sent with value null deletes
it from the stored configuration. Nested objects are replaced
whole, not deep-merged. Non-null config values are validated the
same way as POST /v1/campaigns.
lead_list_ids, when included, replaces the full set of lead
lists attached to the campaign (send an empty array to detach all
of them). Omit it to leave the current lists unchanged.
A configuration change takes effect on the campaign's next dispatch buffer fill, not on calls already queued.
1IANA timezone name used to interpret dispatch hours and schedule_time.
Local time of day dispatch may begin. Accepts HH:MM or HH:MM:SS.
^([01]\d|2[0-3]):[0-5]\d(:[0-5]\d)?$Local time of day dispatch must stop. Accepts HH:MM or HH:MM:SS.
^([01]\d|2[0-3]):[0-5]\d(:[0-5]\d)?$Weekdays dispatch is allowed, 1=Monday through 7=Sunday.
1 <= x <= 7Per-weekday overrides of the default dispatch hours, keyed by ISO weekday string ("1"-"7"). Each value is an array of time windows for that day; an empty array marks the day off entirely.
x >= 1x >= 1When set to a future time, the campaign starts as scheduled instead of running immediately.
Replaces the full set of lead lists attached to this campaign. Every id must belong to your account. Omit this field to leave the current lists unchanged; send an empty array to detach all of them.
Shallow merge with the campaign's existing configuration. Send
null for a key to delete it. Non-null values follow the same
fields and validation as CampaignConfig.
Response
Campaign updated
Campaign record. Returned by GET /v1/campaigns and GET /v1/campaigns/{campaign_id}. Projected to this documented field set; additional internal columns are never included.
draft, scheduled, running, paused, completed, failed, cancelled IANA timezone name used to interpret dispatch hours and schedule_time.
Local time of day dispatch may begin, HH:MM:SS.
Local time of day dispatch must stop, HH:MM:SS.
Weekdays dispatch is allowed, 1=Monday through 7=Sunday.
1 <= x <= 7Per-weekday overrides of the default dispatch hours.
Call configuration applied to every call dispatched by this campaign.